Мне нужно написать программу для вычисления четного и нечетного среднего числа целых чисел, введенных пользователем. Пользователь вводит «готово» для завершения. В выходных данных будет показано среднее значение нечетных чисел и среднее число четных чисел.
У меня есть программа цикла while, которая выполняет суммирование чисел, и я пытаюсь добавить дополнительные требования:нечетная сумма и четная сумма. Вот этот код:
total = 0
done = False
while(not done):
user_in = input("Give me an integer or type 'done' to be done.")
if( user_in.lower() == "done"):
done = True
else:
# assume that they've typed in an integer
total += int(user_in)
print (total)
Ниже мой модифицированный код для сортировки нечетных и четных чисел, а затем усреднение каждой группы.
total = 0
evenSums = 0
oddSums = 0
done = False
while(not done):
user_in = input("Give me an integer or type 'done' to be done.")
if( user_in.lower() == "done"):
done = True
else:
# assuming they've typed in an integer
total += int(user_in)
if user_in % 2 == 0:
evenSums += user_in
evenAverage = evenSums / user_in
else:
oddSums += user_in
oddAverage = oddSums / user_in
print(total)
print("Even Average: " + str(evenAverage))
print("Odd Average: " + str(oddAverage))
Ожидаемое:
Enter number: 11
Enter number: 24
Enter number: 18
Enter number: 29
Enter number: 7
Enter number: done
Even Average: 21
Odd Average: 15.666666666666666
Факт:
Give me an integer or type 'done' to be done.6
Traceback (most recent call last):
File "C:/Users/guita/Documents/School/CSCI100/CSCI100_Lab4_P/CSCI100_Lab4_P/problem7.py", line 14, in <module>
if user_in % 2 == 0:
TypeError: not all arguments converted during string formatting