首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用已经在for循环中输入的数据生成平均值?

如何用已经在for循环中输入的数据生成平均值?
EN

Stack Overflow用户
提问于 2019-04-28 14:12:44
回答 2查看 49关注 0票数 1

在将所有数据输入到for循环后,我不知道如何计算数据总和才能返回平均值。我不知道在"protein_sum =“后面放什么才能让它工作。这是为uni分配的。有什么解决方案吗?

我试过使用sum()函数,但返回错误'int‘对象不可迭代,我感到非常困惑。这是在python 3上。

代码语言:javascript
复制
for number_of_patients in range(1, number_of_patients + 1)
    protein = int(input("Enter protein(g) requirement for patient: ")

protein_sum = 
avg_protein = protein_sum / number_of_patients
print(avg_protein)

我希望用户输入'n‘个患者和他们各自的蛋白质需求,并返回所需蛋白质的平均值。

例如:如果有三个患者,用户输入10,20和15作为蛋白质数量,我预计程序将返回15作为平均值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-28 14:26:13

这取决于用户的输入格式,如果用户在新行中输入了所有参数,则此代码将起作用:

代码语言:javascript
复制
proteins=[] 
number_of_patients=int(input("Enter Number of patients: "))
for number_of_patients in range(1, number_of_patients + 1):
    protein=int( input("Enter protein(g) requirement for patient: ") )
    proteins.append(protein)
protein_sum = sum(proteins)
avg_protein = protein_sum / number_of_patients
print(avg_protein)

否则,如果用户已经在由空格分隔的一行中输入了所有蛋白质,那么这将会起作用:

代码语言:javascript
复制
number_of_proteins=int(input())
proteins=[int(x) for x in input().split()]
protein_sum=sum(proteins)
avg=protein_sum/number_of_proteins
print(avg)
票数 0
EN

Stack Overflow用户

发布于 2019-04-28 14:21:27

你可以很容易地解决这个问题。只需将这些数字与先前值的总和相加即可。

代码语言:javascript
复制
protein_sum = 0
for number_of_patients in range(1, number_of_patients + 1){
    protein = int(input("Enter protein(g) requirement for patient: ")
    protein_sum += protein
}

avg_protein = protein_sum / number_of_patients
print(avg_protein)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55887524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档