在将所有数据输入到for循环后,我不知道如何计算数据总和才能返回平均值。我不知道在"protein_sum =“后面放什么才能让它工作。这是为uni分配的。有什么解决方案吗?
我试过使用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‘个患者和他们各自的蛋白质需求,并返回所需蛋白质的平均值。
例如:如果有三个患者,用户输入10,20和15作为蛋白质数量,我预计程序将返回15作为平均值。
发布于 2019-04-28 14:26:13
这取决于用户的输入格式,如果用户在新行中输入了所有参数,则此代码将起作用:
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)发布于 2019-04-28 14:21:27
你可以很容易地解决这个问题。只需将这些数字与先前值的总和相加即可。
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)https://stackoverflow.com/questions/55887524
复制相似问题