用法分析
# 循环语句
# 循环语句可以使指定的代码块重复指定的次数
# 循环语句分成两种,while循环 和 for循环,这里讲while循环
# while循环
# 语法:
while 条件表达式 :代码块else :代码块
# 执行流程:
# while语句在执行时,会先对while后的条件表达式进行求值判断,
# 如果判断结果为True,则执行循环体(代码块),
# 循环体执行完毕,继续对条件表达式进行求值判断,以此类推,
# 直到判断结果为False,则循环终止,如果循环有对应的else,则执行else后的代码块
# 条件表达式恒为True的循环语句,称为死循环,它会一直运行,慎用!
while True :print('hello')
# 循环的三个要件(表达式)
# 初始化表达式,通过初始化表达式初始化一个变量
# i = 0
# 条件表达式,条件表达式用来设置循环执行的条件
while i < 10 :print(i)
# 更新表达式,修改初始化变量的值
# i += 1
代码案例
#======================================================
#功能:玩转循环#作者:python小哥#时间:2020-6-25
#微信公众号:DJXY00001
#微信名称:Python提升课堂#Version:1.0
#======================================================
案例一:创建一个执行十次的循环
i = 0while i < 10 :i += 1print(i,'hello')else :print('else中的代码块')
代码运行输出:
1 hello2 hello3 hello4 hello5 hello6 hello7 hello8 hello9 hello10 helloelse中的代码块
代码分析
第1行代码:给i赋值为0
第2行,循环开始,并设置了条件表达式,i<10;即满足此条件时才执行循环体(程序第3至4行),否则跳出循环,最后执行else后的代码块,即第6行。
❖
案例二:求100以内所有的奇数之和
i = 0# 创建一个变量,用来保存结果result = 0while i < 100 :i += 1# 判断i是否是奇数if i % 2 != 0:result += iprint('result =',result)
代码运行输出:
result = 2500
代码分析
第1行代码,给i赋值为0;第3行,保存结果的变量result赋值0
第4行,循环开始,直到第8行为一个循环块;第9行为循环结束后,通过print输出最终的计算结果。
第7行ifi % 2 != 0:,为判断i除以2后的余数是否不为0,余数不为0,说明i不能被2整除,则i一定为奇数,则执行第8行代码result+= i,等价于result=result+ i
❖
案例三:求100以内所有7的倍数之和,以及个数
i = 7# 创建一个变量,来保存结果result = 0# 创建一个计数器,用来记录循环执行的次数# 计数器就是一个变量,专门用来记录次数的变量count = 0while i < 100:# 为计数器加1count += 1result += ii += 7print('总和为:',result,'总数量为:',count)
代码运行输出:
总和为:735 总数量为: 14
代码分析
第1行代码:给变量i赋值7,第三行给记录总和变量result赋值为0,第6行给总数量计数变量赋值为0;
第7行开始循环体,到11行结束;第12行为循环结束后输出相应变量值;
循环体中,第7行判断i是否小于100,小于100时,一直执行循环体,否则退出循环;注意:第11行代码,每次将i的值增加7。
❖
案例四:求1000以内所有的水仙花数
# 水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1**3 + 5**3 + 3**3 = 153)。
i = 100while i < 1000:# 假设,i的百位数是a,十位数b,个位数c# 求i的百位数a = i // 100# 求i的十位数# b = i // 10 % 10b = (i - a * 100) // 10# 求i的个位数字c = i % 10# 判断i是否是水仙花数if a ** 3 + b ** 3 + c ** 3 == i:print("1000以内的水仙花数:",i)i +=1
代码运行输出:
1000以内的水仙花数:1531000以内的水仙花数:3701000以内的水仙花数:3711000以内的水仙花数:407
代码分析
第1行代码,赋值变量i为100,因为水仙花数至少从100开始;
第2行至第14行,为整个代码循环块。
循环块中分别求出了i的百位、十位、个位;然后通过第12行代码,根据水仙花数的公式判断是否为水仙花数,如果是,则输出,否则什么也不做。紧接着第14行代码,将i增加1后,循环继续判断,直到i不小于1000时,退出循环,程序执行完毕。
注:a **3等价于a*a*a
❖
注意事项:在输入代码时,一定要注意首行缩进,一定要对齐,因为python中是通过缩进来区分代码执行块的。
说明:关注本公众号,回复数字,得对应年月讲解案例的所有代码,规则为年的后两位+月份
如:2002,代表2020年2月,2003,代表2020年3月,依此类推(代码从2020年2月开始,截止目前月份的上一个月为止)
长按二维码
查看更多吧