在将所有数据输入到for循环中之后,我不知道如何计算数据总和以返回平均值。我不知道要在“ protein_sum =
”后面加上什么来使这项工作有效。这是单人作业。有解决方案吗?
我尝试使用sum()
函数,但返回的错误'int'对象不是可迭代的,我非常困惑。这是在python 3上。
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'位患者及其各自的蛋白质需求量,并返回所需蛋白质的平均值。
例如。如果有3位患者,并且用户输入了10、20和15作为蛋白质量,我希望程序返回15作为平均值。
答案 0 :(得分:0)
您可以轻松解决此问题。只需将数字与先前值的总和相加即可。
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)
答案 1 :(得分:0)
这取决于用户的输入格式,如果用户在新行中输入了所有蛋白质,则此代码将起作用:
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)
否则,如果用户将所有蛋白质输入到以空格分隔的单行中,那么它将起作用:
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)