Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Python для новичков
  • » Создайте список кортежей из имени, фамилии и возраста ваших друзей и коллег. Если возраст неизвестен, занесите значение None. Вычислите средний возраст, пропустив все значения None. Выведите каждое имя, за которым следует строка Old (возраст выше сред [RSS Feed]

#1 Март 20, 2024 19:01:33

Rostislav
Зарегистрирован: 2024-03-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Создайте список кортежей из имени, фамилии и возраста ваших друзей и коллег. Если возраст неизвестен, занесите значение None. Вычислите средний возраст, пропустив все значения None. Выведите каждое имя, за которым следует строка Old (возраст выше сред



Не знаю где ошибка, ибо он выдает 2 одинаковые строки в конце с разными результатами .
Исходный код:
rostik = (“Ростик”,“Федоров”,20)
vlad = (“Влад”,“Федоров”,23)
egor = (“Егор”,“Харченко”,20)
nikita = (“Никита”,“Харченко”,19)
people = (rostik, vlad, egor, nikita)
summ = 0
for age in people:
if age == None:
continue
summ = summ + age
print(summ/len(people))
for o, o1 in enumerate(people):
if o/o1 < 20.5:
print(o,o1, “ynge”)
else:
print(o,o1, “old”)


Результат:
20.5
0 ('Ростик', ‘Федоров’, 20) ynge
1 ('Влад', ‘Федоров’, 23) ynge
2 ('Егор', ‘Харченко’, 20) ynge
3 ('Никита', ‘Харченко’, 19) ynge
3 ('Никита', ‘Харченко’, 19) old

Прикреплённый файлы:
attachment help.py (457 байт)

Офлайн

#2 Март 20, 2024 21:51:56

sa
Зарегистрирован: 2024-03-16
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

Создайте список кортежей из имени, фамилии и возраста ваших друзей и коллег. Если возраст неизвестен, занесите значение None. Вычислите средний возраст, пропустив все значения None. Выведите каждое имя, за которым следует строка Old (возраст выше сред

Задание обрезанное не совсем понятно что нужно получить. Соединил с твоим файлом, получилось до чего смог догадаться.
В задании - список кортежей, у тебя исходные данные не те что просят.
Добавил в список человека с неизвестным возрастом, чтобы протестить код

 # по условию список кортежей
people = [('Ростик','Федоров',20),
          ('Влад','Федоров',23),
          ('Иван','Иванов',None),
          ('Егор','Харченко',20),
          ('Никита','Харченко',19)]
total = 0  #общий возраст всех людей из списка
quantity =0  #количество человек чей возраст известен
for item in people:
    if item[2] == None:
        continue
    total += item[2]
    quantity +=1
average_age = total / quantity 
print(average_age)
for item in people:
    if item[2] == None: #чей возраст неизвестен не выводим в результат
        continue
    if item[2] > average_age:
        print(item[0], 'old')
    else:
        print(item[0], 'young')

Текст задания выложи полный, понять написал то что нужно или не соответствует заданию.

Отредактировано sa (Март 20, 2024 22:29:29)

Офлайн

#3 Март 21, 2024 11:12:44

Rostislav
Зарегистрирован: 2024-03-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Создайте список кортежей из имени, фамилии и возраста ваших друзей и коллег. Если возраст неизвестен, занесите значение None. Вычислите средний возраст, пропустив все значения None. Выведите каждое имя, за которым следует строка Old (возраст выше сред

sa
Задание обрезанное не совсем понятно что нужно получить. Соединил с твоим файлом, получилось до чего смог догадаться.В задании - список кортежей, у тебя исходные данные не те что просят.Добавил в список человека с неизвестным возрастом, чтобы протестить код
Спасибо большое, задание выложено по сути полностью, за исключением концовки, ибо видимо в теме не хватило места на символы, но задание понято верно, в вашем ответе разобрался, понял что сделал не так, благодарю за помощь.

Офлайн

  • Начало
  • » Python для новичков
  • » Создайте список кортежей из имени, фамилии и возраста ваших друзей и коллег. Если возраст неизвестен, занесите значение None. Вычислите средний возраст, пропустив все значения None. Выведите каждое имя, за которым следует строка Old (возраст выше сред[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version