为了避免出现死循环,我们都会设置循环的结束或者提前结束,这用到了break()语句和continue()语句。
一.break语句:break是一个让循环提前结束的关键字
如果在for循环或者while循环中遇到了break,那么循环就在break的位置直接结束。结束后程序执行循环后边的代码
注意: break只能写在循环中!
for x in range(1000,10000):
if x % 13 == 0:
print('找到了:',x)
break
输出:找到了: 1001
【例】读代码
for x in range(1,100):
if x == 50:
break # 在这个地方结束循环,直接跳出循环执行后面的语句
print(x)
很显然这里应该输出1-49而非1-50,因为当x=50的时候直接跳出循环,不会打印输出
【例】用while循环实现:不断的让用户去输入数字,直到用户输入的数字是0为止。最后再打印出之前输入的所有数的和
sum1 = 0
while True:
num = int(input(">>>")) #获取键盘输入的内容,并且转换成int类型
sum1 += num #将当次输入的数字加起来
if num == 0: #判断输入的数字是否是0,如果是就让循环结束
break
print(num)
print(sum1)
input函数:程序执行到input函数的时候,程序就会停下来,等待用户从键盘输入并且以回车结束,然后才会往下执行
二.猜数字游戏
1.关于for循环的while循环的选择问题
for循环的特点:次数确定,可以在序列中取数据
while:循环次数不确定的(while True + break)
2.产生随机数
random模块是python内置的用来产生随机的数的模块,里面提供很多产生随机数的函数
randint(m,n):产生一个m到n的随机整数
【例】猜数字:随机生成一个整数。用户输入数字。如果用户输入的数字大于这个随机数就提示:"大了",如果用户输入的数小于随机数就提示'小'了。直到用户输入的数和随机数的大小一样,游戏就结束
import random
num = random.randint(0,100) # 产生一个0-100的随机数
count = 0
while True:
count += 1
inputValue = int(input('请输入一个数:'))
if inputValue > num:
print('再小点儿')
elif inputValue < num:
print('再大点儿')
elif inputValue == num:
print('恭喜你猜对了')
if count > 7:
print('智商欠费请充值!')
elif count < 3:
print('天才')
else:
print('平庸之辈')
break
三. continue: 结束当次循环,进入下次循环
【例】求1~100中所有奇数的和
sum1 = 0
for x in range(1,101):
if x % 2 == 0:
continue
sum1 += x
print(sum1)
输出:2500
【例】统计输入的数字中,偶数的个数。如果输入0就结束
四.else语句
python中循环语句后面可以加else语句。这个else语句会在循环结束后执行
1.格式:
for 变量 in 序列:
循环体
else:
循环结束后会执行的语句块
2.如果在循环中执行break,那么else语句不会执行!(continue不存在这个问题)
【例】计算1*2*3*...10
sum =1
for x in range(1,11):
sum *= x
print(sum)
输出:3628800
五.多重循环
在循环体里面可以有其他的循环语句
1.格式
for 变量 in 序列:
for 变量1 in 序列2:
循环体2
其他的循环语句
for 变量 in 序列:
其他的循环语句
while 条件语句:
循环体2
其他的循环语句2
while 条件语句1:
其他的循环语句
while 条件语句2:
循环体2
其他的循环语句2
2.【例】打印输出三行三列
1
12
123
for x in range(1,n+1):
for y in range(1,x+1):
print(y,end ='')
print()