使用try/except的循环,直到输入'done'为止
我刚开始学习Python编程,想写一个循环,让用户输入数字,直到输入“done”为止,这时循环就结束,并打印出三个变量:数字、计数和平均值。(我不打算把这些数字存到列表里)
我还希望如果用户输入的不是整数,就打印“无效输入”,然后继续循环,只有输入“done”时才会停止。
可是我发现,即使我输入“done”,它还是一直返回“无效输入”并继续循环。我哪里出错了呢?有没有人能给我一些建议?
number = 0
count = 0
avg = 0
inp = 0
while True:
try:
inp = int(raw_input('Enter a number: '))
if inp is 'done':
number = number + inp
count = count + 1
avg = float(number/count)
break
except:
print 'Invalid input'
print number
print count
print float(avg)
1 个回答
0
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如,有人可能在使用一个叫做“库”的东西时,发现它的某些功能没有按照预期工作。这种情况可能会让人感到困惑,因为我们可能不知道问题出在哪里。
通常,这种问题可能是因为我们没有正确地使用这个库,或者是因为库本身有一些限制。解决这类问题的第一步是仔细阅读库的文档,看看有没有说明我们需要注意的地方。
另外,很多时候,社区的讨论也能提供帮助。像StackOverflow这样的网站上,有很多人分享他们的经验和解决方案。通过搜索相关的问题,我们可能会找到别人遇到过类似的情况,并且他们是如何解决的。
总之,遇到问题时,不要着急,先查阅文档和社区的资源,通常能找到解决办法。
sum = 0.0
count = 0
while True:
inp = raw_input('Enter a number: ')
if inp == 'done':
break
try:
sum += int(inp)
count += 1
except ValueError:
print 'Invalid input'
print sum
print count
if count != 0: # Avoid division by zero
print sum / count