pythotn条件分支与循环详解
if条件分支
1. if语句基本用法
if boolean_value:
子代码模块1
1)判断条件
boolean_value是if语句判断条件,以布尔值的形式判断if语句是否执行子代码模块1。当boolean_value值为True时,则执行在代码模块1;当值为False时,就不会执行。
2)示例
>>> if True:
print("hello world")
hello world
if语句支持多行执行,但是必须要加冒号。
对于boolean_value,除了可以使用布尔值外,还可以使用表达式,表达式计算最终结果为布尔值。
hello world
>>> if 5>2:
print("xxxxx")
xxxxx
>>> if 2>5:
print("ok")
>>>
2. 双分支判断
if boolean_value:
子代码模块1
else:
子代码模块2
示例
>>> if False:
print("ok")
else:
print("no")
no
3. 多条件多分支判断
if boolean_value1:
子代码模块1
elif boolean_value2:
子代码模块2
else:
子代码模块3
这里引入的elif进行新的条件判断,在if语句中elif可以依据实际情况连续使用,但是else只能用在最后而且只能使用一次。
4. 案例
案例来源《python编程从零基础到项目实战》刘瑜(著)
要求
(1)用字符串记录上述内容
(2)检查字符串的长度
(3)用条件判断找出三酷猫想要找的乌龟,想知道钓了几只,并告诉是奇数还是偶数
#三酷猫钓鱼记录查找
fish_record = "鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只"
print(len(fish_record))
if fish_record[0:2]=="乌龟":
print("是乌龟吗?,是"+fish_record[0:2])
elif fish_record[5:7]=="乌龟":
print("是乌龟吗?,是"+fish_record[5:7])
elif fish_record[10:12]=="乌龟":
print("是乌龟吗?,是"+fish_record[10:12])
elif fish_record[15:17]=="乌龟":
print("是乌龟吗?,是"+fish_record[15:17])
elif fish_record[20:22]=="乌龟":
print("是乌龟吗?,是"+fish_record[20:22])
elif fish_record[25:27]!="乌龟":
if int(fish_record[27])%2 == 0:
print("找到乌龟了,是%d只,偶数"%(int(fish_record[27])))
else:
print("找到乌龟了,是%d只,奇数"%(int(fish_record[27])))
while 循环
1. while语句基本用法
while语句的基本语法格式:
while boolean_value:子代码模块1
1)while语法格式说明
boolean_value为while语句的循环判断条件。当其为True时,会执行在代码模块1;当其值为False时,终止循环。
boolean_value可以为布尔值,也可以是运算表达式。
示例1:
pwd = '' # 注:这个''代表空字符串
while pwd != '520666':
pwd = input('请输入银行卡密码:')
print('卡内还有999999999999元~')
示例2(嵌套):
while i<2:
while i<j:
print("%d,"%((i+1)*j))
i -= 1
i += 1
2. 练习
获取用户输入的任意数,判断其是否是质数?
# 获取用户输入的任意数,判断其是否是质数?
while True:
n = int(input('请输入数字:'))
if n == 0:
print('%d不是质数,请重新输入!'%n)
elif n % 2 == 1:
print('%d是质数。'%n)
break
else:
continue
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341