В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Tata123N
Tata123N
12.08.2022 08:39 •  Информатика

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_list1).strip('[]')
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

Показать ответ
Ответ:
karikovt
karikovt
11.06.2021 21:52

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

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

my_list1 = a[i]

my_list2 = b[i]

my_list3 = c[i]

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

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

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота