繁体   English   中英

在循环中使用break语句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM