#案例:使用while循环控制程序打印5次hello world
x =0while x <5:print('hello world')
x +=1
2.for 和 while 的选择
遇到循环问题的时候有限考虑for循环,for循环解决不了的问题才使用while循环。
for循环无法解决的问题:
1)死循环
2)循环次数不确定(循环次数不由程序员决定,而是由使用这个程序用户的行为决定)
#循环次数不确定的案例:写程序提示用户输入密码,直到输入的密码和系统保存得密码相同为止
pw='123456'for x inrange(3):input('请输入密码:')
pw='123456'
value =input('请输入密码:')while value != pw:
value=input('请输入密码:')
二、循环关键字:continue 和 break
1.continue - 结束一次循环
执行循环体的时候遇到了continue,当循环结束,直接进入到下一次循环。
for x inrange(5):print('====')continueprint('++++')print('----')# 案例:打印1~10中所有的偶数# 方法1for x inrange(1,11):if x %2==1:continueprint(x)# 方法2for x inrange(1,11):if x %2==0:print(x)
for x inrange(5):print('=======')breakprint('+++++++')print('-------')for x inrange(1,11):if x %5==0:breakprint(x)#4print('x:',x)#5
2)break 的应用 - 当while遇到break
whileTrue:
需要重复执行的操作
if 循环结束的条件:
break
pw='123456'whileTrue:
value =input('请输入密码:')if value == pw:break
from random import randint
num = randint(0,100)print(num)#产生100以内的随机数
# 练习:1.用程序实现猜数字游戏的功能'''
系统随机产生一个0~100的随机数:
请输入你的猜的数字:50
大了,再小点儿!
请输入你的猜的数字:25
小了,再大点儿!
请输入你的猜的数字:30
小了,再大点儿!
...
请输入你的猜的数字:45
恭喜你,猜对了!
'''
num=45whileTrue:
value =int(input('请输入你猜的数字:'))if value > num:print('大了,再小点儿!')elif value < num:print('小了,再大点儿!')else:print('恭喜你,猜对了!')break
#2. 输入任意一个正整数,求他是几位数?
num =919128
count =0whileTrue:
num = num //10
count +=1if num ==0:breakprint(count)
# 3.判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)# 2 3 5 7 11 13 ...# 方法1:
num =18
count =0# 统计 2 ~ num-1 之间能被num整除数的个数for x inrange(2, num):if num % x ==0:
count +=1if count ==0:print(num,'是素数')else:print(num,'不是素数')# 方法2:
num =18
flag =True# 假设num是素数for x inrange(2, num):if num % x ==0:
flag =Falsebreakif flag ==True:print(num,'是素数')else:print(num,'不是素数')
三、else的循环结构
1.完整的循环结构
1)完整的for循环
for 变量 in 序列:
循环体
else:
代码段
2)完整的while循环
while 条件语句:
循环体
else:
代码段
else的存在不影响原来的循环的执行
for x inrange(5):print('hello world')else:print(100)# pass