判断条件 boolean
whie 判断条件:循环体
案例1:
n=1
while True:
print(n)
n=n+1
if n>10:
break;#停止当前的循环
简单法:
n=1
while n<=10:
print(n)
n=n+1#如果把这一行给注销掉 即:为死循环
whie 判断条件:循环体
案例1:
n=1
while True:
print(n)
n=n+1
if n>10:
break;#停止当前的循环
简单法:
n=1
while n<=10:
print(n)
n=n+1#如果把这一行给注销掉 即:为死循环
案例2:100偶数和
a=1
num=0
while a<=100:
if a%2==0:
num+=a
a=a+1
print(num)
知识延伸:1.输入几个数 0结尾 即:几个数的和就会出现
sum=0
while True:
n= int(input("请输入一个数字:"))
if n==0:
break
sum+=n
print(sum)
a=1
num=0
while a<=100:
if a%2==0:
num+=a
a=a+1
print(num)
知识延伸:1.输入几个数 0结尾 即:几个数的和就会出现
sum=0
while True:
n= int(input("请输入一个数字:"))
if n==0:
break
sum+=n
print(sum)
2.100之内3和5 的倍数:
n=0
while n<=100:
if n%3==0 and n%5==0:
print(n,'是3 和 5的倍数')
elif n%5==0:
print(n,'是5的倍数')
elif n%3==0:
print(n,'是3的倍数')
n = n+1
else:
print('结束')
二. range()函数:生成数列 从零开始不包含结尾参数
n=0
while n<=100:
if n%3==0 and n%5==0:
print(n,'是3 和 5的倍数')
elif n%5==0:
print(n,'是5的倍数')
elif n%3==0:
print(n,'是3的倍数')
n = n+1
else:
print('结束')
二. range()函数:生成数列 从零开始不包含结尾参数
1.9行小星星怎么快速创建:
for i in range(9):#几行
for i in range(9):#一行几颗星
print('*',end='')
print()
2.用*拼成直角三角形:
n = 0
for i in range(9):
n=n+1
for i in range(n):
print('*', end='')
print()
延伸一下:倒过来的直角三角形!
nums=range(5)
for i in range(1,6):两个参数:从1-6不包含6
for i in range(6,i,-1):
print("*",end='')
print()
3.99乘法表:
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',(j*i),end="\t")
print()
4.等腰三角形变成菱形
rows=7
for i in range(7):
for j in range(rows-1,i,-1):
print(' ',end='')#记住空格不能忘了
for k in range(i*2+1):
print('*',end='')
print()
# 第二步
for i in range(1,rows-1+1):#rows-1:第8行:13个星变为11个星。
# +1:是为了给i赋一个值即:执行rows-i
for j in range(i):
print(' ',end='')
for k in range((rows-i)*2-1):
print('*',end='')
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()
即:菱形的行数必须为奇数;
for i in range(9):#几行
for i in range(9):#一行几颗星
print('*',end='')
print()
2.用*拼成直角三角形:
n = 0
for i in range(9):
n=n+1
for i in range(n):
print('*', end='')
print()
延伸一下:倒过来的直角三角形!
nums=range(5)
for i in range(1,6):两个参数:从1-6不包含6
for i in range(6,i,-1):
print("*",end='')
print()
3.99乘法表:
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',(j*i),end="\t")
print()
4.等腰三角形变成菱形
rows=7
for i in range(7):
for j in range(rows-1,i,-1):
print(' ',end='')#记住空格不能忘了
for k in range(i*2+1):
print('*',end='')
print()
# 第二步
for i in range(1,rows-1+1):#rows-1:第8行:13个星变为11个星。
# +1:是为了给i赋一个值即:执行rows-i
for j in range(i):
print(' ',end='')
for k in range((rows-i)*2-1):
print('*',end='')
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()
即:菱形的行数必须为奇数;
三:
1.请用户输入成绩 统计各区间的人数超出0-100 重新输入 正确 询问是否继续
1.请用户输入成绩 统计各区间的人数超出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#结束循,但是在continue下面的代码不在执行;放回到循环条件判断的位置 必须在循环体中
str=input('是否继续? y/n')
if str.__eq__('n'):
break#结束所在循环层,执行外层代码
print('成绩>=90:',a,'个')
print('成绩>=80:',b,'个')
print('成绩>=60:',c,'个')
print('成绩>=0:',d,'个')
2.统计3个班级 中每个班级3个学生的成绩: 大于80的人数几个
count=0
for i in range(1,4):
print('请输入第',i,'班级学生成绩:')
for j in range(1,4):
score=int(input('请输入第'+str(j)+'个学生成绩:'))
if score<0:
print('输入负数 进入下一个班级')
break
if score<80:
continue
count+=1
print('大于80的人数:',count)
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#结束循,但是在continue下面的代码不在执行;放回到循环条件判断的位置 必须在循环体中
str=input('是否继续? y/n')
if str.__eq__('n'):
break#结束所在循环层,执行外层代码
print('成绩>=90:',a,'个')
print('成绩>=80:',b,'个')
print('成绩>=60:',c,'个')
print('成绩>=0:',d,'个')
2.统计3个班级 中每个班级3个学生的成绩: 大于80的人数几个
count=0
for i in range(1,4):
print('请输入第',i,'班级学生成绩:')
for j in range(1,4):
score=int(input('请输入第'+str(j)+'个学生成绩:'))
if score<0:
print('输入负数 进入下一个班级')
break
if score<80:
continue
count+=1
print('大于80的人数:',count)