python课堂实例_Python课程及实例21—带你玩转循环

用法分析

# 循环语句

# 循环语句可以使指定的代码块重复指定的次数

# 循环语句分成两种,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月开始,截止目前月份的上一个月为止)

长按二维码

查看更多吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值