一、break 的用法:
1.break是一个让循环提前结束的关键字
如果在for循环或者while循环中遇到了break,那么循环就在break的位置直接结束。结束后程序执行循环后边的代码
练习:找到1000-9999中的第一个能够被13整除的数(打印)
for x in range(1000,10000):
print(x)
if x % 13 == 0:
print('找到了:',x)
break
print(‘循环结束后’)
for x in range(1,100):
if x == 50:
break # 在这个地方结束循环,直接跳出循环执行后面的语句
print(x) # 1 2 3 … 49
用while循环实现:不断的让用户去输入数字,直到用户输入的数字是0为止。最后在打印之前输入的数的和
input函数:程序执行到input函数的时候,程序就会停下来,等待用户从键盘输入并且以回车结束,然后才会往下执行
sum1 = 0
while True:
num = int(input(“>>>”)) #获取键盘输入的内容,并且转换成int类型
sum1 += num #将当次输入的数字加起来
if num == 0: #判断输入的数字是否是0,如果是就让循环结束
break
print(num)
print(sum1)
注意: break只能写在循环中
二、for循环和while循环的选择:
for循环的特点:次数确定,可以在序列中取数据
while:循环次数不确定的(while True + break)
猜数字:随机生成一个整数。用户输入数字。如果用户输入的数字大于这个随机数就提示:”大了”,
如果用户输入的数小于随机数就提示’小’了。知道用户输入的数和随机数的大小一样,游戏就结束
产生随机数: 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:
结束当次循环,进入下次循环
for x in range(1,10):
print(‘=’)
continue #遇到continue就不再执行循环体后面的内容,直接进入下一次循环的判断
print(x)
求1~100中所有奇数的和
”’
x = 1 sum1 = 1
x = 2
x = 3 sum1 = 1 + 3
x = 4
x = 5 sum1 = 1 + 3 + 5
”’
sum1 = 0
for x in range(1,101):
if x % 2 == 0:
continue
sum1 += x
打印100-999中十位数上不是3的所有的数
for x in range(100,1000):
if x // 10 % 10 == 3:
continue
print(x)
统计输入的数字中,偶数的个数。如果输入0,就结束。(必须使用continue)
flag = True
count = 0
while flag:
# 输入数据
inputvalue = int(input(‘>>>’))
# 判断是否是奇数
if inputvalue % 2 == 1:
continue
if inputvalue == 0:
# break
flag = False
# 偶数个数加
count += 1
print('count:',count)
四、python中循环语句后面可以加else语句
这个else语句会在循环结束后执行
for 变量 in 序列:
循环体
else:
循环结束后会执行的语句块
1x*2*****3*…10
sum1 = 1 # sum1的值不能大于10000
for x in range(1,11):
sum1 *= x
else:
print(sum1)
注意:如果在循环中执行break,那么else语句不会执行!(continue不存在这个问题)
1x*2*x3…10
sum1 = 1 # sum1的值不能大于100
for x in range(1,11):
# 再给sum1赋值前先判断乘的结果是否大于10000
if sum1*x > 10000:
break
# 只有在乘积不大于10000的时候才用乘积去赋值
sum1 *= x
else:
# print(sum1,x) #循环中如果执行了break,那么else中的语句不会执行
pass
print(sum1, x)
五、在循环体里面可以有其他的循环语句
”’
for 变量 in 序列:
for 变量1 in 序列2:
循环体2
其他的循环语句
for 变量 in 序列:
其他的循环语句
while 条件语句:
循环体2
其他的循环语句2
while 条件语句1:
其他的循环语句
while 条件语句2:
循环体2
其他的循环语句
如果n = 5 打印:
1 1 1
12 2 12
123 3 123
1234 4
12345 5
1~x x
n = 3
1 1
12 2
123 3
n = 4
1
12
123
1234
x = (1,2,3)
x = 1 y= (1)
y = 1 pr(1)pr(\n)
x = 2 y=(1,2)
y=1 pr(1)
y=2 pr(2)pr(\n)
x = 3 y=(1,2,3)
y=1 pr(1)
y=2 pr(2)
y=3 pr(3)pr(\n)
1
12
123
”’
n = 3
x控制是第几行
for x in range(1,n+1):
# y控制获取当前行里的所有的数值
for y in range(1,x+1):
print(y,end ='')
# 一行结束换行
print()