[英]Using a break statement in a loop
编写一个使用while循环重复提示用户输入数字并将其添加到运行总计中的程序。 输入空白行时,程序应打印所有输入数字的平均值。 您需要使用break语句退出while循环 。 到目前为止,这是我得到的:
number_of_entries = int(input('Please enter the number of numbers: '))
entries = []
count = 0
while count < number_of_entries:
entry = float(input('Entry:'))
entries.append(entry)
count = count + 1
average = sum(entries)/number_of_entries
print(average)
这首先提示用户输入数字,然后提示他们输入条目,而while循环继续提示数字,直到数字计数等于用户输入的数字为止。 条目将保存到列表中,并且列表中数字的总和用于获取存储在平均值变量中的平均值。 如果用户没有输入任何内容(只需按Enter键),则应该查找已输入数字的平均值,而不是产生错误代码。 我知道我必须使用break语句,但我无法弄清楚。
如果用户只是按Enter则中断,然后投射并追加
while True:
entry = input('Entry:')
if not entry: # catch empty string and break the loop
break
entries.append(float(entry))
average = sum(entries)/len(entries)
如果您只是在用户点击输入时中断,则number_of_entries
无关紧要。 您可以使用长度列表以获得平均,如果用户输入10 number_of_entries
与你原来的while count < number_of_entries:
然后打输入5个号码后,进入average = sum(entries)/number_of_entries
将是错误的。
可能这段代码会帮助您。 这还将检查字符串或字符条目。
entries=[]
while True:
print "Entry: "
try:
entry = float(raw_input())
entries.append(float(entry))
except:
print "Not a Valid Entry"
break
average = sum(entries)/len(entries)
print average
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.