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("错误次数过多")