参考链接: Python while循环
一、while循环
-python 是以强制缩进作为区分代码块的
-标准是4个空格,tab和4个空格不是一样的
while 判断条件:(判断条件boolean类型的表达式)
循环体(可以有多行)
避免死循环-->正规代码
n=1
while n<=10:
print(n)
n=n+1
第一题:求1-100的偶数和
n=1
sum=0
while n<=100:
if n%2==0:
sum+=n
n=n+1
print(sum)第二题:请用户输入数字,求和,直到输入0退出
sum=0
while True:
n=int(input('请输入一个数字:'))
if n==0:
break
sum+=n
print(sum)
第三题:1-100
遇到3和5的倍数输出当前值是3和5的倍数
遇到5的倍数输出当前值是5的倍数
遇到3的倍数输出当前值是3的倍数
n=1
while n<=100:
if (n%3==0)and(n%5==0):
print(str(n),end='当前值是3和5的倍数')
elif n%5==0:
print(n, '当前值是5的倍数')
elif n%3==0:
print(n, '当前值是3的倍数')
n=n+1
else
print('循环结束')
while...else 在条件语句为false时执行else块
二、for 迭代变量 in列表/字典/元组 逐个列表取值
range()函数 生成数列,不包含结尾参数
range(5):一个参数从0开始到5不包含5自己
range(5,15):两个参数从5开始到15不包含15自己
range(5,55,5):三个参数从5开始到55不包含自己,最后的参数5是步长
end=''不换行
1.for x in range(1,X):
循环体
2.list1 = [1,2,3,4]test_str = 'hello world'
for item in list1:for item in test_str:
print(item) print(item)
即
for item in '序列': 依此去序列中取出它的元素 (字符串也是一个序列)
print(item)遍历
3.nums=range(5)
for i in range(5,19,2):
print(i)
第一题:输出一行9个*
for i in range(9):
print('*',end='')
第二题:输出9行9个*
for i in range(9):#几行
for i in range(9):#一行几个星星
print('*',end=' ')
print()
第三题:直角三角形
for i in range(1,6):
for j in range(i):
print('*',end='')
print()
第四题:九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',(j*i),end='\t')
print()
第五题:菱形
rows=int(input('请输入菱形的行数'))
s=rows//2+1
x=rows-s
for i in range(s):
for j in range(s-1,i,-1):
print(' ',end='')
for k in range(i*2+1):
print('*',end='')
print()
for i in range(1,x+1):
for j in range(i):
print(' ',end='')
for k in range((s-i)*2-1):
print('*',end='')
print()
三、嵌套循环
break 结束所在循环执行外层代码-->外侧大循环
continue 返回到循环条件判断的位置 必须在循环体中 结束本次循环继续下一次循环 continue下面的代码不执行
第一题:请用户输入成绩 统计各区间的人数,超出0-100重新输入,正确 询问是否继续
a=b=c=d=0
while True:
num=int(input('请输入成绩:'))
if num>=90 and num<=100:
a+=1
elif num>=80 and num<90:
b+=1
elif num>=60 and num<80:
c+=1
elif num>=0 and num<60:
d+=1
else:
print('超出范围 请重新输入:')
continue
print(num)
str1=int(input('是否继续?1/0:'))
print(str1)
if str1==0:
break
print('>=90:',a)
print('>=80:',b)
print('>=60:',c)
print('<60:',d)
第二题:统计3个班级中每个班级3个学生的成绩:大于80的人数几个
count=0
for i range(1,4):
print('请输入第',i,'个班级的学生成绩')
for j in range (1,4):
score=int(input('请输入第',j,'个学生成绩'))
if score<0:
print('输入负数进入下一个班级')
break
if score<80:
continue
count+=1
print('大于80的人数:',count)