洗礼灵魂,修炼python(10)--有趣的判断分支+从实例中掌握循环语句

【四季发财中线】通达信炒股指标副图指标使用图文教程,短线紫色柱线操作,与中线短柱线共振抓牛股妖股主升浪 如上图标记位置,对应的是副图指标的紫色柱线开始的位置,这个紫色柱线信号开始出现,也是短线进场做多的信号,紫色柱线的持续出现和加长,可以持股待涨,或行情继续上涨的可以在分时行情中逢低进场短线顺势做多。如上图标记部分,指标的主要部分信号,三行柱线-ZR-ZC -ZM,当出现这三行信号时,中线或波段看多做多,信号持续则中线顺势做多和持股待涨。不论是跟踪信号的出现先后进场和持股,或是在中线多头的行情中,找到短线转多信号进场做安全的短线操作机会,都是非常好的指标信号和辅助操作功能。 阅读详情

所有的编程语言里都有判断语句和循环语句。

判断语句则是用来分支程序流程的

循环语句则是为了实现一个效果,让程序的规律性的重复操作

不用说,分支和循环自然在python里也是有的

一,条件判断:if,if……else

1.在python里if可以单独出现,也可以和else配套出现,但是else不能单独出现

这里则要提到一个在编程里一个共有的特性:

悬挂else:即出现多余或者不和if匹配的else,就叫悬挂else,当出现悬挂else是会导致程序报错的。但在python里强制限制else属于哪一个循环里,对缩进严格要求,所以不会出现悬挂else,也就是前面提到的【else不能单独出现】。

2.if格式:

a:

  • if   XX:
  •   suite(语句体套件)

b:

  • if   XX:
  •   suite
  • else:
  •   suite

3.使用条件判断案列:

代码:

# -*- coding:utf-8 -*-
print("猜一个幸运数字,游戏开始!")#提示游戏开始
temp=input("请输入你觉得对的数字:")#这一句是和用户交互得到一个值,并赋值给temp
guess=int(temp)#这一句将temp变量转换成整形,方便下面的条件判断
if guess>8:
    print("大了")#如果guess变量大于8,则运行print
else:#否则的话
    if guess == 8:
        print("哇,猜对了")#如果guess等于8,运行print
    else:
        print ("小了")#如果不等于8也不大于8,运行print
print("游戏结束")#提示游戏结

 

运行结果:

因为没有猜对,再运行两次:

 

第三次终于对了,判断语句就是这样使用的

不过这个小程序看起来还不够完善,可以优化一下:

# -*- coding:utf-8 -*-
print("猜一个幸运数字,游戏开始!")
guess=int(input("请输入你觉得对的数字:"))
if guess>8:
    print("大了")
elif guess == 8:    #注意elif
    print("哇,猜对了")
else:
    print ("小了")
print("游戏结束")

这里elif等同于else+if

但是还是不够完善,因为每次运行代码只有一次猜的机会,觉得有点少了,可以猜多次吗?当然可以,所以得用上下面要说的循环

二,循环

在python里有两种循环,while循环和for循环,并注意在python里没有when语句和switch语句

1.while循环

1)格式:

a:

  • while  XX:
  •   suite

b:

  • while  XX:
  •   suite
  • else:
  •   suite

是的,while语句可以和else配套使用

2)从实例中剖析while循环:

代码:

# -*- coding:utf-8 -*-
print("猜一个幸运数字,游戏开始!")
guess=int(input("请输入你觉得对的数字:"))
while guess!=8:
    guess=int(input("请重新输入你觉得对的数字:"))
    if guess>8:
        print("大了")
    else:
        print ("小了")
        
print("猜对了")

 运行结果:

效果是实现了,但是又有个两个小问题:

问题1.为什么我要在while语句里还要在再一次为guess赋值

 因为在当while运行时,首先判定的就是当第一次用户输入时能不能满足条件,满足条件则循环,而这里的不等于8,第一次输入是5,5确实不等于8,所以满足条件运行,但是,如果不重新赋值,guess则会在整个程序里一直指向5这个值,永远满足条件,永远循环,就成了一个死循环,直到耗尽你的计算机资源让计算机崩溃宕机为止:

不给guess再一次赋值的效果:

这里我把程序终止了,所以有个keyboardInterrupt键盘异常出现,关于异常的后面会讲解,暂时可以忽略

所以,在while里的那一句重新赋值很重要,防止发生死循环,并且切记,在使用循环时如果产生了死循环是编程的大忌

问题2.在第一次输入5的时候,并没有给出提示是大了还是小了,这个需要改善的

所以稍微改动一下代码:

# -*- coding:utf-8 -*-
print("猜一个幸运数字,游戏开始!")
while True:
    guess=int(input("请输入你觉得对的数字:"))
    if guess>8:
        print("大了")
    elif guess<8:
        print ("小了")
    else:
        print("猜对了")

 运行结果:

这样就可以在第一次输入值时给出提示,但是你应该发现了,我已经输入了正确答案,程序还是没有退出,还在运行,这个情况要怎么解决呢?此时又需要一点新的知识——break和continue语句

break:用于满足条件时跳出本层循环,且只能跳过一层循环

continue:用于满足条件时跳过本层循环内的某一次循环,如果在本次循环内下面条件满足则运行完再进入下一次循环

上面的代码,我加入break后:

# -*- coding:utf-8 -*-
print("猜一个幸运数字,游戏开始!")
while True:
    guess=int(input("请输入你觉得对的数字:"))
    if guess>8:
        print("大了")
    elif guess<8:
        print ("小了")
    else:
        print("猜对了")
        break

 运行结果:

这样的话,就完美的解决一个问题,并且前面那个死循环问题如果使用break也可以避免,但是代码还是有问题的,我只是给下解决了死循环这个问题的效果,所以不给出代码,只是做下演示:

继续看看break和continue的用法:

 代码:

# -*- coding:utf-8 -*-
i=1
while True:
    while i!=8:
        i+=1      #姑且认为同i=i+1,但其实不等价于,自己可以用id函数查看
        if i<5:
            continue
            print('i的值目前小于5')          
        
        if i==5:
            print('i的值为%d'%i)
            break
    print('跳出了内层循环')
    break
print('跳出了外层循环')

 

 运行结果:

感觉不大明显对吧,break应该很好理解,但是continue还是有点不大懂,对吧?这样,我去掉continue看看效果:

图解:

只能搞成这个样子了,还不懂的话,自己复制代码拿来运行,多体会

3)练习:用while循环打印斐波那契数列

代码:

# -*- coding:utf-8 -*-
list1=[0,1]
n1=list1[0]
n3=n2=list1[1]
n=int(input('请输入一个你希望打印出多少项斐波那契数列里的数:'))
if n<1:
    print("输入有误!")
while (n-2)>0:
    n3=n2+n1
    n1=n2
    n2=n3
    n-=1
    list1.append(n3)
print('斐波那契数列的前%d项:'%len(list1))
print(list1)

 

结果:

2.for循环

1)说到for循环,就得说说迭代这个词

迭代:指的是按照某种顺序逐个访问列表中的每一项,for语句就是迭代最好的体现和解释

for循环和while循环差不多,不过for来得更简洁

2)格式:

a:

for XX in 表达式:

  suite

b:

for XX  in 表达式:

  suite

else:

  suite

3)实例:

是不是很好的解释了迭代这个词

for和while没什么差别,while能用的for都能用,if条件判断和break,continue语句都可以使用,所以不再练习举例了,不过你可以自己尝试用for循环输出一个斐波那契数列

 

但是for在有些方面优于while循环:

用for可以迭代的优势

比如用for可以很快的生成一个列表,这种方法叫列表生成器和列表解析,后面的章节会讲解

 

如何使用apifox打包测试用例生成测试套件自动化执行 使用apifox打包测试用例生成测试套件自动化执行 阅读详情

相关推荐

SOLIDWORKS无法获得下列许可 无效的使用许可号码(-8,544,0) 解决办法大全

SOLIDWORKS无法获得下列许可 无效的使用许可号码(-8,544,0) 解决办法大全。版本:SolidWorks2021。电脑:惠普战66四代。软件安装不困难!

qq_43596278的博客 11万+

python 一些魔法

1. range(object): """ range(stop) -> range object range(start, stop[, step]) -> range object Return an object that produces a sequence of integers from start (inclusive) to ...

weixin_34119545的博客 214

TSmaster CANFD配置避坑指南:为什么你的PCAN盒不支持最新版本?

本文针对TSmaster配置PCAN硬件进行CANFD通信时的常见问题,提供了详细的避坑指南。重点解析了CANFD配置中TSEG1等关键参数的理解误区,并深入探讨了TSmaster新版本与PCAN硬件驱动之间的兼容性变化,帮助工程师快速定位并解决连接失败或无法发送CANFD报文等问题。

alpha的博客 542

python when语句_python循环语句

The for statementThe for statement is used to iterate over the elements of a sequence (such as a string, tuple or list) or other iterable object:for_stmt ::= "for" target_list "in" expression_list ":...

weixin_39830020的博客 716

简单记录一次拿网站后台的过程

本文章重在让大家了解拿后台的逻辑与流程,请不要利用此文章的内容对别人的网站进行攻击破坏,否则后果自负,作者不承担任何责任。

kk的博客 918

阿里云百炼接入本地Claude,接入idea

阿里云百炼平台提供两种接入方式:未购买套餐时使用通用API Key(sk-xxxxx),需注意免费额度独立计算且不会自动切换模型;购买Coding Plan套餐后使用专属API Key(sk-sp-xxxxx),享受固定月费无超支风险。配置需在.claude/settings.json中设置认证信息,包括API Key和Base URL。建议开启"用完即停"功能避免意外扣费,不同模型的免费额度互不影响。购买套餐后还可通过IDEA插件Claude Code进行集成,实现固定费用下的稳定使用

fengtangjiang的博客 1359

Python 如何实现当循环(When)和直到循环(Until)

目录当循环(When)直到循环(Until) 当循环(When) 直接使用 while 就可以了 print "Please input a number" a = int(raw_input()) # when while a != 10: # do print "%s is wrong. Try it again." % (a) a = int(raw_input()) ...

mshdyh的博客 3万+

UE5网络模块实战:属性复制、RPC与联机开发踩坑指南

多人联机开发中,网络同步是核心难题。UE5网络模块以服务器权威为基础,通过Actor复制、RPC和所有权机制实现多端状态一致。理解属性复制与OnRep回调、区分Server/Client/Multicast RPC的适用场景,是构建稳定联机架构的关键。本文结合数字孪生与多端协作场景,探讨如何将渲染与逻辑分离,并针对打包后网络失效、端口防火墙、崩溃排查等工程实践问题给出解决方案。通过蓝图接口解耦表现层,利用C++创建StaticMesh组件实现服务器逻辑与客户端表现分离,同时注意专用服务器不加载渲染依赖(如D

weixin_29010003的博客 272

Python Pandas 中的 case_when() 方法详解

在本文中,深入探讨了 Pandas 中的方法的用法,包括基本用法和高级用法。这个方法对于数据分析和数据转换任务非常有用,可以根据条件创建新的列,处理多条件组合和缺失值,并生成新的数据集。希望通过本文的示例代码和解释,能更好地理解和运用方法。这将有助于更灵活地处理各种数据分析和数据处理任务。

aobulaien001的博客 1406

在 Linux 64 位上遭遇 Signal 7 与 ST22 SYSTEM_CORE_DUMPED:从 es/implementation=std 到 /dev/shm 的一套落地排查法

摘要: Linux 64位SAP系统出现SYSTEM_CORE_DUMPED和Signal 7(对应SIGBUS)错误时,核心问题是进程因共享内存资源异常被操作系统强制终止。主要诱因包括:1)/dev/shm的tmpfs默认容量不足(通常仅占物理内存50%);2)SAP内存管理参数es/implementation=map在64位场景下的敏感性。解决方案应双管齐下:在实例profile设置es/implementation=std以降低对tmpfs的依赖,同时按(RAM+Swap)*75%重新配置/dev/

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 164

QGIS之二十六pbf转osm转shp

QGIS之二十六pbf转osm转shp

yilvyangguang520的博客 7499

python基础——while循环语句

1.while循环基本使用 循环的作用就是让指定的代码重复的执行 . while循环最常用的应用场景就是让执行的代码按照指定的次数重复执行 需求--打印5遍Hello World 思考--如果要求打印100遍怎么办? 1.1 while语句基本语法 初始条件设置——通常是重复执行的 计数器 while条件(判断 计数器 是否达到 目标次数): 条件满足时,做的事情A 条件满足时,做的事情B 条件满足时,做的事情C ........... 处理条件(计数器+ 1) 注意: while

weixin_48124413的博客 1万+

Android框架WiFi架构

动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_spplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调试来对wifi芯片操作,简单的说,二、android wifi 系统架构:andtoid wifi 系统引入了wpa_supplicant,它的整个wifi系统。

手机-手表蓝牙开发工程师的博客 3459

python when语句_洗礼灵魂,修炼python(10)--有趣的判断分支+从实例中掌握循环语句...

所有的编程语言里都有判断语句和循环语句。判断语句则是用来分支程序流程的循环语句则是为了实现一个效果,让程序的规律性的重复操作不用说,分支和循环自然在python里也是有的一,条件判断:if,if……else1.在python里if可以单独出现,也可以和else配套出现,但是else不能单独出现这里则要提到一个在编程里一个共有的特性:悬挂else:即出现多余或者不和if匹配的else,就叫悬挂els...

weixin_39634067的博客 1151

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python不用if编一个数字游戏_洗礼灵魂,修炼python(10)--有趣的判断分支+从实例中掌握循环语句...

所有的编程语言里都有判断语句和循环语句。判断语句则是用来分支程序流程的循环语句则是为了实现一个效果,让程序的规律性的重复操作不用说,分支和循环自然在python里也是有的一,条件判断:if,if……else1.在python里if可以单独出现,也可以和else配套出现,但是else不能单独出现这里则要提到一个在编程里一个共有的特性:悬挂else:即出现多余或者不和if匹配的else,就叫悬挂els...

weixin_39954674的博客 285

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python用for循环输出直角三角形_使用FOR循环语句在屏幕上输出一个由星号组成的直角三角形...

题目要求:请用C++的信息输出方式,使用循环语句在屏幕上输出一个由星号组成的直角三角形,形状如下:***************要求:完全使用C++的信息输出方式,即cout以及流插入操作符编写,不得使用c语言中的printf等函数使用循环语句进行星号的输出控制,可以使用for、while、do-while任何一种。代码如下:#includeusing namespace std;int main...

weixin_39779032的博客 4362

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python机器学习:从零基础到项目实战

当您翻开此书,您正踏入一场数据与智慧的修行。机器学习,并非冰冷的符码,而是机器模拟人类洞察世界的法门。本书将带您,以Python为舟,泛游于算法之海。我们不只传授“术”,更探求其后的“道”——从数据的生灭流转中观照规律,于模型的迭代演进里体悟得失。愿您合上书卷时,收获的不仅是驾驭数据的技能,更有一双洞悉复杂、化繁为简的“智慧之眼”。现在,让我们一同启程。

YunWisdom 968

python学习总结(函数进阶)

-------------------程序运行原理-------------------1、模块的内建name属性,主模块其值为main,导入模块其值为模块名1、创建时间,py文件比pyc文件新,则从新生成pyc。2、magic num,做运行前版本测试,版本不同重新生成pyc。3、PyCodeObject对象,源代码中的字符串,常量值,字节码指令,原始代码行号的对应关系。 2、LEGB规则1、L...

weixin_33801856的博客 243

python when语句_使用sqlpar解析CASE WHEN语句

这个项目确实有点缺乏文件记录。我查看了examples并扫描了一下源代码。不幸的是,文档中并没有包括Token和TokenList类上对该任务有用的所有方法。在例如,一个重要但被忽略的方法是^{} method,它使您比其他方法更容易遍历嵌套的标记列表;^{}方法只在树中生成未分组的标记,而CASE是一个分组标记,因此,单纯地看文档,您可能会发现很难对解析的令牌树做一些有用的事情。在我在代码库中注...

weixin_30438795的博客 600

Python while 循环语句详解:基础语法、常见应用场景及注意事项

Python循环语句 - while循环语句、while循环的嵌套应用

weixin_43263566的博客 1万+

【python入门篇——7】循环控制(if、while、for、range)

range() 函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(2, 5) ,这意味着值为 2 到 5(但不包括 5)for 语句不能为空,但是如果某种原因写了无内容的 for 语句,可以使用 pass 语句来避免错误。a > b,所以第一个条件不成立,elif条件也不成立,所以执行else打印‘a 大于 b’函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。实例:定义两个变量,a 和 b,如果b大于a,将“b大于a”打印到屏幕。

weixin_45014379的博客 2035

python case when用法_SQL之CASE WHEN用法详解

简单CASE WHEN函数:CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' ENDCASE SCORE WHEN 'B' THEN '良' ELSE '不及格' ENDCASE SCORE WHEN 'C' THEN '中' ELSE '不及格' END等同于,使用CASE WHEN条件表达式函数实现:CASE WHEN SCORE = 'A' THEN '优'WH...

weixin_35733852的博客 2370

【Python】if语句、for语句、while语句

官方文档: 4. 其他流程控制工具 — Python 3.11.0a0 文档 一、if语句 if a == 2: print("a==2") elif a == 1: print("a==1") else: print("False") 二、for语句 for i in [1, 2, 3, 4]: print(i, end="") 因为list中当前int对象被删除了, 字典遍历时不使用列表副本,报错! ...

fftx_00的博客 464

python else单独使用_python -else 的使用

else一般我们最常用的是if....else...做判断语句我们还可以使用其他方式如 for..else 或 while ...else 和try..except...elsefor...else#查找10以内的所有质数num = []for i in range(2, 10): # 循环出2以上的所有数字for j in range(2, i): # 循环出被查找的数字和比自身小且&gt...

weixin_39693438的博客 2164

chatgpt赋能python:Python中如何不适用if语句

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

虚幻私塾 522

Python 中的else语句

在其他语言中,除了条件语句,是不会见到else分支的,但在Python中,while和for循环中,也是可以使用else语句的。它们的工作顺序为:在循环中使用时,else语句只在循环完成后执行,也就是说,break语句也会跳过else代码块,只要循环是正常结束,而不是通过break,else语句就会执行。 while-else举例: Python代码   #!/usr/bin/env pyt

happyzhouxiaopei的专栏 937
上一篇: 洗礼灵魂,修炼python(9)--灵性的字符串
下一篇: 洗礼灵魂,修炼python(11)--python函数,模块
geekbyte.
博客等级 码龄11年 308粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值