python - 用户输入的数字总和
问题描述
我必须编写一个程序来计算用户输入的数字的总和,直到用户输入“完成”并显示:用户输入了多少数字(元素),这些数字的总和以及平均值。到目前为止,我设法计算了数字计数,但我的程序没有显示输入数字的总和。相反,它显示最后输入的数字。有谁知道我做错了什么?怎么做?
count = 0
while True:
n=input('enter a number: ')
if n== 'done':
break
count=count + 1
if int(n) >= 0:
s=0 + int(n)
print(count)
print(s)
解决方案
问题是这条线s=0 + int(n)
。这意味着它将重置s
为n
每个循环。您想用s = s + int(n)
or替换它s += int(n)
。
我还进行了一些更改以避免出现其他错误。
这意味着也DONE
将注册为done
.
if n.lower() == 'done':
break
要在输入非整数时停止抛出错误,您需要使用一些错误处理。
try:
n = int(n)
except ValueError as e:
continue
最后一块
count, s = 0, 0
while True:
n = input('Enter a number: ')
if n.lower() == 'done':
break
count += 1
try:
n = int(n)
except ValueError:
continue
if n >= 0:
s += n
print(count, s)
推荐阅读
- css - 如何使用 CSS 创建重叠图像
- reactjs - 提交后反应关闭模式
- r - 在ggplot的一个方面内按组分隔geom_linerange
- python - Django 在 contrib/admin 和 ckeditor 中寻找静态文件
- reactjs - 这个“|”是什么意思 符号在 React 文档中代表什么?
- flutter - Linkify TextField 并在 Flutter 中显示链接预览
- kotlin - Kotlin 使用两种 Any 类型,可以是 Int 或 Float 进行加法/减法/乘法/减法
- r - 设置子图颜色 plotly R
- excel - 如果循环内的语句不断崩溃
- powershell - Powershell 哈希:添加/更新值是否容易?