代码每次运行时都不必全部被执行,不同的代码在不同的条件下被执行。
# 例:判断成绩是否合格grade = int(input("请输入成绩:"))if grade >= 60: print("及格")if grade < 60: print("不及格")#或者可以 “如果成绩大于等于60分,输出及格,否则,输出不及格”grade = int(input("请输入成绩:"))if grade >= 60: print("及格")else: print("不及格")❝详细看if
1.if是看后面条件真假来选择是否执行
2.if后一定要跟 :
3.满足if条件后,用缩进(空格、Tab)表示条件满足后执行的代码
#例:判断成绩是否优秀、及格grade = int(input("请输入成绩:"))if grade >= 90: print("优秀")else:if grade >= 60and grade < 90: print("及格")else:if grade < 60: print("不及格")# 将else: 和下面的if连成一个elifgrade = int(input("请输入成绩:"))if grade >= 90: print("优秀")elif grade >= 60and grade < 90: print("及格")elif grade < 60: print("不及格")❝按照上面例子可通过elif增加更多条件判断
if 条件1:
语句1
elif 条件2:
语句2
elif 条件3:
语句3
···
elif 条件n:
语句n
对一个班所有学生的平均成绩做出五级评分认定 比如按照90、80、70、60四个分数点 分别输出优、良、中、及格和不及格五个分数段
grade = int(input("请输入学生成绩:"))if grade >= 90and grade <= 100: print("优秀")elif grade >= 80and grade < 90: print("良")elif grade >= 70and grade < 80: print("中")elif grade >= 60and grade < 70: print("及格")elif grade < 60: print("不及格")else: print("错误的成绩输入")#后面的else: 是加入的必要的验证,用于处理输入的分数不在指定范围内的情况,比如输入的分数为-1等。循环语句是指反复执行某段代码,并在一定条件下结束。
# 例:输入5个整数再输出总合# 直观想法:num1 = int(input("请输入第一个数字:"))num2 = int(input("请输入第二个数字:"))num3 = int(input("请输入第三个数字:"))num4 = int(input("请输入第四个数字:"))num5 = int(input("请输入第五个数字:"))print(num1 + num2 + num3 + num4 + num5)# 以上思路存在问题——如果要输入100个数求总和怎么办? 如果要输入不确定个数求总和怎么办?(比如输入数字总和超过100就表示输入完成)# 优化想法:num = [0] * 5num[0] = int(input("请输入数字:"))num[1] = int(input("请输入数字:"))num[2] = int(input("请输入数字:"))num[3] = int(input("请输入数字:"))num[4] = int(input("请输入数字:"))print(num[0] + num[1] + num[2] + num[3] + num[4])# num = [0] * 5这表示定义一个列表变量,名称为num,包含5个整数,默认都是0。# 上面[0][1][2][3][4]一列,运用了列表的思路。# 要注意列表第一个元素符号要从0开始!!❝列表是指一组数据,通常类型一样,都使用一个名称来统一表示,通过不同的序号来彼此区分。
有序号,就可以循环序号来遍历每个元素。
# 想象num[i] = int(input("请输入数字:"))# 如果这个i不停的从0改变到4不就可以了吗?我们可以使用for循环来简化上述输入
num = [0] * 5for i in range(5): num[i] = int(input("请输入数字:"))# range函数返回0至不到5的五个整数,即0、1、2、3、4。# for的i变量每次取一个range生成的值,进入一次循环,生成一个特定的语句。来将最开始'优化想法'的输出做个替换
print(num[0] + num[1] + num[2] + num[3] + num[4])#⬇️sum = num[0] + num[1] + num[2] + num[3] + num[4]print(sum)#⬇️sum = num[0] + num[1]sum = sum + num[2]sum = sum + num[3]sum = sum + num[4]print(sum)#⬇️sum = 0sum = sum + num[0]sum = sum + num[1]sum = sum + num[2]sum = sum + num[3]sum = sum + num[4]print(sum)#⬇️ 写成for循环sum = 0for i in range(5): sum = sum + num[i]print(sum)# 输入5个整数再输出总合的完整代码num = [0] * 5for i in range(5): num[i] = int(input())sum = 0for i in range(5): sum = sum + num[i]print(sum)# 代码简化num = [0] * 5sum = 0for i in range(5): num[i] = int(input())for i in range(5): sum = sum + num[i]print(sum)# ⬇️合并两个for循环num = [0] * 5sum = 0for i in range(5): num[i] = int(input()) sum = sum + num[i]print(sum)# ⬇️直接累加num = [0] * 5sum = 0for i in range(5): sum = sum + int(input())print(sum)# ⬇️去除列表sum = 0for i in range(5): sum = sum + int(input())print(sum)当我们遇到不固定次数的循环时,是否继续循环依赖条件,当条件一旦不满足,循环就会停止。
# 修改一下上面的例子,允许用户不断输入各种整数数据,直到用户输入0为止,并最终输出所有数的总和。# 上个例子的代码是循环5次,这次我们的次数不再固定,而是变成用户输入的数是否为0,此时我们需要新的循环语句。sum = 0while 输入的数不等于0: sum = sum + int(input("请输入一个数字:"))print(sum)# while语句是通过一种条件来决定是否继续循环,当条件为真时,循环会继续执行,当条件为假时,循环会停止。如何表示‘输入的数不等于0’呢? 为此我们要在while循环前增加一个第一次输入整数的语句
# 第1种方法sum = 0num = int(input("请输入一个数字:"))while num != 0: sum = sum + num num = int(input("请输入一个数字:"))print(sum)# 第2种方法 假设num是一个非零的数值sum = 0num = 1while num != 0: sum = sum + num num = int(input("请输入一个数字:"))print(sum)# 这时我们会思考,num的第一个值1有没有被累加到sum中去呢?# 这时我们可以通过调整语句的次序来解决这个问题⬇️sum = 0num = 1while num != 0: num = int(input("请输入一个数字:")) sum = sum + numprint(sum)# 即使num为1,但是进入循环之后,它的值会被新输入的值覆盖,就不会被累加到sum中去了