ainred
?>

Python Почему при выводе среднего avg захватывает только 3 числа вместо четырех в ранге(4), что нужно исправить? код: from random import uniform days = input("Enter number of days: \n\n") print("Generated prices:") a, b, c = [], [], [] for i in range(4): a.append("{:= .2f}".format(uniform(60, 70))) b.append("{:= .2f}".format(uniform(60, 70))) c.append("{:= .2f}".format(uniform(60, 70))) n = [] for i in range(4): n.append((a[i]) + b[i] + c[i]) num = n[0] days = float(days) my_list1 = a[i] my_list2 = b[i] my_list3 = c[i] list1 = str(my_list1strip('[]') list2 = str(my_list2).strip('[]') list3 = str(my_list3).strip('[]') avg = ((float(list1)) + (float(list2)) + (float(list3)))/days print("Exchange 1:", a) print("Exchange 2:", b) print("Exchange 3:", c) print("Average price:", f'{avg:.5f}') вывод: Enter number of days: 4 Generated prices: Exchange 1: [' 68.69', ' 60.10', ' 60.37', ' 65.34'] Exchange 2: [' 65.36', ' 64.22', ' 67.72', ' 69.51'] Exchange 3: [' 65.68', ' 60.87', ' 61.48', ' 67.10'] Average price: 50.48750 Вместо Average price: 50.48750 должно быть число среднее всех чисел в р-не 65-70

Информатика

Ответы

zhmulyov-denis8

не совсем понятно, что вы хотите от программы.

я так понял, что вам нужно найти среднее значение всех элементов 3 списков, если это так, то обратите внимание вот на эти строки

my_list1 = a[i]

my_list2 = b[i]

my_list3 = c[i]

здесь сбита табуляция, однако я думаю, что вы явно прогоняете эти переменные по циклу и хотите работать с ними дальше в виде списка с переменными, в этом случае вы должны были объявить их до цикла и в самом цикле написать что то типа my_list1 += a[i], а получается, что весь цикл они просто переприсваиваются и по завершении просто равны последнему элементу a, b, c соответственно, уберите days = float(days) из цикла - занимает память и num никак не используется - ну это мелочи,

если бы вы написали что хотите от кода, я бы детальнее

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Python Почему при выводе среднего avg захватывает только 3 числа вместо четырех в ранге(4), что нужно исправить? код: from random import uniform days = input("Enter number of days: \n\n") print("Generated prices:") a, b, c = [], [], [] for i in range(4): a.append("{:= .2f}".format(uniform(60, 70))) b.append("{:= .2f}".format(uniform(60, 70))) c.append("{:= .2f}".format(uniform(60, 70))) n = [] for i in range(4): n.append((a[i]) + b[i] + c[i]) num = n[0] days = float(days) my_list1 = a[i] my_list2 = b[i] my_list3 = c[i] list1 = str(my_list1strip('[]') list2 = str(my_list2).strip('[]') list3 = str(my_list3).strip('[]') avg = ((float(list1)) + (float(list2)) + (float(list3)))/days print("Exchange 1:", a) print("Exchange 2:", b) print("Exchange 3:", c) print("Average price:", f'{avg:.5f}') вывод: Enter number of days: 4 Generated prices: Exchange 1: [' 68.69', ' 60.10', ' 60.37', ' 65.34'] Exchange 2: [' 65.36', ' 64.22', ' 67.72', ' 69.51'] Exchange 3: [' 65.68', ' 60.87', ' 61.48', ' 67.10'] Average price: 50.48750 Вместо Average price: 50.48750 должно быть число среднее всех чисел в р-не 65-70
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

polina0075880
baranovaas
zverevahelen
Yevgenii_Gurtovaya1532
Малыхин Валерьевна621
sport2293032
kirieskamod262
Алина1564
olgakovalsky6
tomogradandrey
Neveselova
grebish2002
vasinam
Doronin755
Витальевна