Day-4 while循环和循环关键字总结
while 循环
语法:
while 条件语句:
循环体
说明:
while - 关键字;固定写法
条件语句 - 和if中的条件语句的要求一样
: - 固定写法
循环体 - 结构上,和while保持一个缩进的一条或者多条语句;逻辑上,需要重复执行的代码
执行过程:不断判断条件语句是否为True,如果是就执行循环体,否则循环就结束。
练习1:打印1~100所有的整数
x = 1
while x <= 100:
print(x)
x += 1
练习2: 打印1-100所有的偶数:2,4,6,8,10,…,100
x = 2
while x <= 100:
print(x)
x += 2
for循环和while循环的选择
关系:
-
for能解决的问题,while循环都可以解决;
-
while循环能解决的问题,for循环不一定可以解决。
但是for循环比起while循环,控制次数更简单(容易)
使用建议:
- 能用for循环解决的问题都用for,解决不了的才考虑while。
循环次数确定 - 使用for
循环次数不确定 - 只能使用while循环
# 猜数字
x = random.randint(0,100)
num = int(input('请输入数字0-100:'))
count = 1
while x != num :
if x > num:
print('小了')
else:
print('大了')
num = int(input('重新试下:'))
count += 1
print('恭喜,猜对了!!是:',num)
print('共猜了:',count)
continue和break
原则:
continue和break都只能出现在循环体中。
区别:
continue - 结束一次循环, 每次在执行循环体的时候,如果遇到continue,那么这次循环结束,直接进入下一次循环
break - 结束整个循环, 在执行循环体的时候,如果遇到break,那么整个循环直接结束,不会进入下次循环
示例:
for x in range(5):
print(x)
print('======')
continue
print('++++++')
print('-------------------------华丽的分割线--------------------------')
for x in range(5):
print(x)
print('======')
break
print('++++++')
num = int(input('请输入一个任意正整数:'))
count = 0
while True:
num //= 10
count += 1
if num == 0:
break
print(count)
循环else
完整的循环结构:
1)完整的for循环
for 变量 in 序列:
循环体
else:
代码段
- 完整的while循环
while 条件语句:
循环体
else:
代码段
else的作用:
else的存在不会影响原来循环的执行;
如果循环不是因为遇到break而结束的else后的代码段就会在循环结束后执行,否则不执行
练习:
判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数,1除外)
num = 13
for x in range(2, num):
if num % x == 0:
print(num, '不是素数')
break
else:
print(num, '是素数')
# 优化方案:
num = 13
for x in range(2, int(num**0.5) + 1):
if num % x == 0:
print(num, '不是素数')
break
else:
print(num, '是素数')