1、while语句
(1)while 循环控制条件:
循环体
(2)while 循环控制条件:
循环体
else:
语句
例1 求1~10奇数的和
#求1~10奇数的和
sum = 0
i = 1
while i<=10:
sum+=i
i+=2
print(sum)
例2 输入5个整数,求出其平均值并输出结果
#输入5个整数,求出其平均值并输出结果
total = 0
counter = 1
while counter <= 5:
total = total+int((input('输入一个数:')))
counter+=1
print('平均数是:',float(total)/5)
例3 求学生分数的平均值
法一:
#求学生分数的平均值
n = int(input('有多少个学生:'))
sum = 0
counter = 1
while counter <= n:
sum = sum + float(input('第'+str(counter)+'个学生的分数:'))
counter+=1
print(float(sum/n))
注:这里遇到一个问题,就是input()函数不能像print()函数一样直接打印出函数和变量的值,而是需要转换变量的类型:将变量的类型转换为字符串形式,再和字符串用+连接(注意,用逗号不可以)
input(‘第’+str(counter)+‘个学生的分数:’)
法二:
#求学生分数的平均数
n = int(input('有多少个学生:'))
sum = 0.0
counter = 0
for i in range(n):
counter+=1
x = float(input('请输入第'+str(counter)+'个学生的分数:'))
sum = sum+x
print(sum/n)
法三:当学生数未知时
#未知学生数求平均分
#引入变量flag标志,用于表示是否继续输入数据
flag = 'y'
sum = 0.0
counter = 1
while flag == 'y':
x = float(input('输入第'+str(counter)+'个分数:'))
sum = sum + x
counter+=1
flag = input('继续输入? (y或n)')
print(str(counter-1)+'个学生的平均分是:',sum/(counter-1))
运行结果:
法4
#信号值循环控制法
counter = 1
sum = 0.0
x = 0
while x >= 0 :
sum = sum + x
x = float(input('输入学生分数:'))
counter+=1
print('平均分是:',sum/(counter-2))
运行结果:
例4 s=1+1/(1+2)+1/(1+2+3)+···+1/(1+2+3+···+n)
求s
n = int(input('输入整数'))
f = 0
m = 0
s = 0
while m<n:
m = m+1
f=f+m
s = s+1.0/f
print(s)
运行结果:
2、无限循环
while True:
循环体
一般采用在循环体内使用break语句强制结束死循环
例:
point = int(input('输入分数:'))
while True:
if point <=0 or point >=100:
print('你输入的成绩无效!')
elif point >=90 and point <=100:
print('你的成绩为A')
elif 80 <= point <90 :
print('你的成绩为B')
elif point <80 and point >= 60:
print('你的成绩为C')
elif point <60:
print('你的成绩为D')
point = int(input('输入分数:'))