Python--条件判断与循环


# 本页包含以下内容:
# if、elif、else条件判断:有冒号,冒号后的下一行要缩进。python中是靠缩进判断代码逻辑的
# 循环(for、while):重复的执行循环体中的代码,后面有冒号。
# while 循环:一定要定义一个计数器;
# 对应的else是正常完成循环次数,且不是break结束的,就执行else,详见猜数字的例子。
# for循环:不需要定义计数器,直接for i in range(10):即表示循环十次
# break 循环里面遇到break,循环立即结束。应用场景:登录成功即结束循环。
# continue 循环中遇到continue,结束本次循环,循环后面的代码不再执行,直接进入下一次循环。

if 的双重与多重条件判断

 1 # 双重条件判断,if\else即可
 2 age = int(input("请输入你的年龄:"))
 3 if age >= 18:# 大于>,小于<,小于等于<=,不等于!=,等于==
 4   print("你%s岁,已经成年了"%age)
 5 else:
 6   print("你%s岁,还是个宝宝~"%age)#可以在输出时自定义输出的结果,不需要加,
 7 
 8 
 9 # 多重条件判断
10 # 需求:小于60不及格,大于等于60小于80及格,大于等于80小于92良好,大于等于92优秀
11 # 注意:这两个例子只可以输入整数数字,输入字母、小数会报错
12 score = int(input("请输入你的成绩:"))
13 if score < 60:
14   print("你的分数是%s,本次考试不及格"%score)
15 elif score >=60 and score <80:#and不可以用&代替
16   print("你的分数是%s,本次考试合格"%score)
17 elif 80 <= score <92:#可以不写and
18   print("你的分数是%s,本次考试良好" %score)
19 else :
20   print("你的分数是%s,本次考试优秀" %score)

while循环、break、continue的用法与区别

 1 count = 0
 2 # count = count + 1#不能写在这里,没有用,不会重复执行这里,还是死循环
 3 while count <10:
 4   print(count)
 5   count = count + 1
 6   break#如果break放这里,循环一次立即跳出
 7 
 8 
 9 # continue 循环中遇到continue,结束本次循环,循环后面的代码不再执行,直接进入下一次循环。应用场景:催同学交学费,遇到交了的就结束循环,轮到下一个人
10 # 伪代码
11 # i = 1
12 # while i < 20:
13 #   if 已经交学费:
14 #     continue#结束本次循环,后面的"巴拉巴拉"不再执行,直接进行下一次循环,如果后面没有"巴拉巴拉",那去掉continue也是一样的
15 #   else:
16 #     发消息
17 # 巴拉巴拉

你能看出来这个代码有什么问题么

1 count = 0
2 while count <= 6:
3     if count == 4:
4         continue
5     print(count)
6     count = count + 1
7 # 答案:死循环了。当count==4时,走continue,后面代码不执行,count不再加1,一直在循环


循环小例子,随机产生一个数字,
需求:最多猜5次,如果猜对了,提示游戏结束(break),猜大猜小有对应提示,超过5次错误次数过多

 1 import random
 2 num = random.randint(0,100)
 3 print(num)
 4 count = 0
 5 while count < 5:#while循环
 6     #从下一行开始,有缩进的部分叫循环体。
 7     guess_num = int(input("请输入你猜测的数字:"))
 8     count = count + 1
 9     remain_times = 5-count
10     if guess_num == num:
11         print("猜对了,数字是%s,游戏结束!"%num)
12         break
13     elif guess_num > num:
14         print("猜大了,剩余次数%s"%remain_times)
15     else:
16         print("猜小了,剩余次数%s"%remain_times)
17     # 到上一行结束,有缩进的部分叫循环体。
18 else:   #正常结束,正好循环5次,且不是break结束,就走else这里
19     print("错误次数过多")


for循环:简单不需要定义计数器,直接for i in range(10):即表示循环十次
将上述while循环同步改为for循环就是下面

 1 import random
 2 num = random.randint(0,100)
 3 print(num)
 4 for count in range(5):#for循环,循环几次就写几,不太可能死循环
 5     guess_num = int(input("请输入你猜测的数字:"))
 6     remain_times = 5-1-count
 7     if guess_num == num:
 8         print("猜对了,数字是%s,游戏结束!"%num)
 9         break
10     elif guess_num > num:
11         print("猜大了,剩余次数%s"%remain_times)
12     else:
13         print("猜小了,剩余次数%s"%remain_times)
14 else:
15     print("错误次数过多")