Я пытаюсь сложить данные по нескольким «пациентам», мне нужно, чтобы иметь возможность вывести среднее требуемое количество белка, углеводов, жиров и килоджоулей для группы пациентов
Я все еще изучаю Python и читал множество других вопросов, но, похоже, ничего не работает
я получаю сообщение об ошибке в строке 29 с sum_f, однако я думаю, что, вероятно, также есть проблемы с sum_p и sum_f
Ранее я получал объект int не по подписке, но я думаю, что исправил это
patient_input = int(input("Enter number of patients:"))
a = 1
patient_data=[]
if patient_input > 0:
while a <= patient_input :
a_str = str(a)
print ("Patient " + (a_str))
protein = int(input("Amount of protein (g) required:"))
while protein <= 0:
print ("Please enter a nonnegative number" )
carbohydrates = int(input("Amount of carbohydrates (g) required:"))
while carbohydrates <= 0:
print ("Please enter a nonnegative number" )
fat= int(input("Amount of fat (g) required:"))
while fat <= 0:
print ("Please enter a nonnegative number" )
kilojules = 4.18 * (4*protein + 4*carbohydrates + 9.30*fat)
a_str = [protein, carbohydrates, fat, kilojules]
patient_data.append(a_str)
a = a + 1
print(patient_data)
^ Кажется, это нормально, я исправлял ошибки в ней за последние пару часов
b = int((patient_input) + 1)
sum_p = sum(int(i)for i in patient_data [0][0:b])
average_p =(int(b))*(sum_p)
sum_c = sum(int(i)for i in patient_data [1][0:b])
average_c = str((b)*(sum_c))
sum_f = sum(int(i)for i in patient_data [2][0:b])
average_f = str((b)*(sum_f))
sum_k = sum(int(i)for i in patient_data [3][0:b])
average_k = str((b)*(sum_k))
print ("Averages:")
print ("Protein (g):" (average_p))
print ("Carbohydrates (g):" (average_c))
print ("Fats (g):" (average_f))
print ("Kilojules (kJ):" (average_k))
когда сумма суммируется, кажется, что она добавляет белок пациента, углеводы, жиры и килоджули, когда мне это нужно, чтобы добавить белок пациентов вместе, чтобы я мог разделить число пациентов, чтобы получить среднее значение