一、什么是循环
循环语句就是在某种条件下,一遍一遍重复的执行某个动作。
如:从1加到100,重复执行加法的动作,就需要用到循环。
二、循环的三要素
虽然循环是反复的执行某个动作,但是循环也会停止的,没有停止的循环就是死循环;程序如果写出死循环,这个程序就有问题,所以任何一个程序都会有结束条件,结束条件往往是和变量关联的。循环的三要素包括:
循环变量:控制循环,并控制循环结束的条件,每次循环变量都会变化;
循环体:反复执行的动作;
循环终止条件:循环结束的条件,和循环变量有直接关系。
循环的案例演示:输入一个大于1的值,然后算出从1加到这个数之和。 比如输入6,求出1+2+3+4+5+6
分析:
循环变量:i = 1
循环体:每次把循环的变量进行累加,并存储在sum中
循环满足条件:i <= input number ,必须要存在循环的渐变标记(每次只需一次循环,都要逐步靠近循环结束)
操作代码:
num = int(input("请输入一个大于1的整数:"))i = 1 # 循环变量sum_of_number = 0 # 用来存储累加的值while i <= num: sum_of_number += i i += 1print("从1加到%d的和为:%d" % (num, sum_of_number))
演示结果:
三、While循环结构
Python中的While循环语句执行时,先判断While后面循环条件的值,当判断结果为False时,不执行嵌入代码块,若为True时,进入循环,执行循环内程序一遍后,再次判断条件是否满足,若满足就一直执行下去,一直到不满足为止,跳出循环,继续后面的语句。
实例01:编程实现在控制台中输入一个正数,求出从1开始到这个数中所有包含3的数字和3的倍数所有数字之和
1)包含3的数字:比如 13,31…不是3的倍数也包含3,如果通过数字判断很难判断,所以通过前面介绍的成员运算符来判断。 "3" in str(num01)
2)3的倍数:num01 % 3 == 0 求余后值为0即为3的倍数
操作代码:
num01 = int(input("请输入一个大于1的整数:"))i = 1 # 定义循环变量,只有循环可以用单个字母定义变量sum_of_number = 0 # 循环存储的累加之和while i <= num01: if i % 3 == 0: # 如果是3的倍数累加 sum_of_number += i elif '3' in str(i): # 如果包含3的数字,累加,如果换成If就会判断两次,被累加两次 sum_of_number += i else: pass # 可以不写 直接跳过 i += 1 # 循环终止的渐变条件print("从1开始到%d中所有包含3的数字和3所有的倍数之和:%d" % (num01, sum_of_number))
演示结果:
实例02:编程实现在控制台中输入班级人数,然后依次输入所有学员的成绩,计算出该班级的平均成绩和总成绩
循环变量:i =1
循环体:反复输入
循环满足条件:i <= input student number
操作代码:
student_number = int(input("请输入学生人数:"))i = 1total_result = 0while i <= student_number: total_result += int(input("请输入第%d个学生的成绩:" % i)) i += 1print("学生总成绩为:%d,平均成绩为:%.2f" % (total_result, total_result/student_number))
演示结果:
实例03:编程实现在控制台中输入一个正整数n,求出n与其反序数之和并输出。
例如:输入2038,输出应为 2038+8302=10340
方法01:去数字字符(转换为字符串),从前往后去
第一次:2
第二次:02
第三次:302
第四次:8302
操作代码:
num01 = input("请输入一个数字:")i = 0new_num = ""while i < len(num01): new_num = num01[i] + new_num i += 1else: print("循环结束!") # 当循环条件为false后执行的语句,python特有的语句print("%s + %s = %d" % (num01, new_num, int(num01)+int(new_num)))
演示结果:
方法02:去数字字符(转换为字符串),从后往前去
第一次:8
第二次:83
第三次:830
第四次:8302
操作代码:
num01=input("请输入一个整数:")i=-1new_num=""While i >= (-len(num01)):new_num=new_num+num01[i]i-=1print("%s+%s=%d"%(num01,new_num,int(num01)+int(new_num)))
演示结果:
总结:
Python中的while循环可以解决程序中需要重复执行的操作;其中循环执行的次数由循环条件决定,当循环条件满足时,重复执行某个代码块,直到循环条件不成立为止;反复执行的代码块称为循环体,循环条件必须要在循环体中改变,否则可能会出现无限循环(死循环)的结果。
IT教头王进带你入门Python第六讲:探讨while循环的应用场景:
学习不等待,优惠不排队,我们的双十一倒计时啦!!!