01-break and continue keyword
02-break 猜数字
03-continue
04-else
05-多重循环
01-break and continue keyword
break 是一个让循环提前结束的关键字
如果在forloop或者whilloop中遇到了break,那么循环就在break 的位置直接结束,直接执行循环后面的语句
forloop and whileloop:
forloop的特点:次数确定,可以在序列中取数据
whileloop:循环次数不确定的
练习:找到1000-9999中的第一个能够被13整除的数
for _ in range(1000,9999):
print(_)
if _ % 13 == 0:
print(_)
break
print('end forloop with break')
for x in range(1,100):
if x == 50:
break
print(x) # 1,2,3...,49
用while循环实现:不断的让用户去输入数字,直到用户输入的数字为0,最后打印之前输入数字的和
input()函数:程序执行到input函数的时候,程序就会停下来,等待用户用键盘输入并且以回车键(Enter)结束,然后才会往下执行
while True:
num = int(input('Please input number')) #获取键盘输入的内容,并且转换成整数
sum1 += num #将当次输入的数字加起来 #将当次输入的数字加起来
if num ==0: #判断输入的数字是否是0,如果是就让循环结束
break
print(num)
print('aaa')
注意:break只能写在循环中
02-break 猜数字
猜数字:随机生成一个整数。用户输入的数字,如果用户输入的数字大于这个随机数就提示‘大了’如果用户输入的数小于随机数就提示‘小了’。直到用户输入的数和随机数相等,游戏结束
产生随机数:random模块是python内置 的用来产生随机的数的模块
randint(m,n): 产生一个m到n 的随机整数
import random
n =random.randint(0,100)
count = 0
while True:
num = int(input('>>>'))
count +=1
if num > n:
print('large')
elif num < n:
print('little')
elif num == n:
print('right',num)
if count >7:
print('loser')
elif count <3:
print('talent')
else:
print('ordinary')
break
print('共输入%d次'%(count))
03-continue
for x in range(1,10):
print('=')
continue #遇到continue就不在执行循环体后面的内容,直接进入下一次循环的判断
print(x)
print('end==============')
求1-100中所有奇数的和
sum1 = 0
for x in range(1,100):
if x % 2 == 0:
continue
sum1 += x
print(sum1)
统计输入的数字中,偶数的个数。如果输入0,就结束。(使用continue)
count = 0
flag = True
while flag:
num = int(input('input')) #输入数据
if num % 2 == 1:
continue #判断是否是奇数
if num == 0:
break #直接跳出循环,不将“0”计入偶数个数
#flag = False #会继续执行后续语句,将"0"计入偶数
count += 1 #偶数个数加和
print(count)
print('end===========')
04-else
python中循环语句后面可以加else语句。这个else语句会在循环结束后执行
for 变量 in 序列:
循环体
else:
循环结束后会执行的语句块
123*...10
sum1 = 1
for x in range(1,11):
print(sum1)
sum1 *=x
else:
print(sum1)
注意:如果在循环中使用break,那么else语句不会执行!
sum1 = 1
for x in range(1,11):
if sum1*x >10000:
break
sum1 *= x
else:
#print(sum1,x)
pass
print(sum1,x)
05-多重循环
在循环体里可以有其他的循环语句
for 变量 in 序列:
for 变量2 in序列2:
循环体2
其他循环语句
for 变量 in 序列:
其他循环语句
while 条件语句:
循环体2
其他的循环语句2
while 条件语句1:
其他循环语句
while 条件语句2:
循环体2
其他循环语句2
。。。。。。
如果 n = 5 打印:
1
12
123
1234
12345
n = 5
# x 控制是第几行
for x in range(1,n+1):
# y控制获取当前行里的所有的数值
for y in range(1,x+1):
print(y,end='')
# 一行结束换行
print()
code 解析
n = 3
x = 1 y = (1)
y = 1 pr(1)pr(\n)
1
x = 2 y = (1,2)
y = 1 pr(1)
y = 2 pr(2)pr(\n)
12
x = 3 y = (1,2,3)
y = 1 pr(1)
y = 2 pr(2)
y = 3 pr(3)pr(\n)
123
value
1
12
123
n = 5:
*****
****
***
**
*
n = 5
for x in range (1,n+1):
for y in range (1,n+2-x):
print('*',end='')
print()