Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 02.11.2016
Сообщений: 6

Не могу найти ошибку в коде

16.11.2016, 01:15. Показов 1072. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему-то для входных значений количества игроков 2 и 3 программа не работает нормально, а для 4 работает

Задание:
Известна информация о нескольких игроках: ФИО, возраст, сумма набранных очков, e-mail (может быть не указан). Выведите на экран:
- ФИО самого молодого игрока;
- ФИО игрока с наибольшей суммой очков;
- количество тех, у кого не указан e-mail.

Код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
i = int(input('Введите кол-во игроков'))
l = []
for k in range(i):
    print('Если e-mail не указан, ставьте "-": ')
    l.append([input('ФИО '), input('возраст '), input('очки '), input('e-mail ')])
 
for igrok in l:
    print(igrok)
 
molodoy = l[0][0]
vozrast = l[0][1]
for k in range(1, i):
    if vozrast > l[k][1] :
            vozrast = l[k][1]
            molodoy = l[k][0]
            
print('ФИО самого молодого игрока:', molodoy)
 
naib_ochki = l[0][0]
ochki_sravnenie = l[0][2]
for k in range(1, i):
    if ochki_sravnenie < l[k][2] :
            ochki_sravnenie = l[k][2]
            naib_ochki = l[k][0]
            
print('ФИО игрока с наибольшей суммой очков:', naib_ochki)
 
pustoy_mail = 0
for k in range(i):
    if l[k][3] == '-':
        pustoy_mail += 1
        
print('количество тех, у кого не указан e-mail:', pustoy_mail)
Пример вывода с ошибкой для кол-ва игроков = 3 (i = 3):
['sdfgh', '45', '43679', 'hj']
['bkl', '2', '7', 'hgjfguk']
['xvffh', '65', '656', '-']
ФИО самого молодого игрока: bkl
ФИО игрока с наибольшей суммой очков: bkl
количество тех, у кого не указан e-mail: 1
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2016, 01:15
Ответы с готовыми решениями:

Не могу найти ошибку в коде
При вводе дня = 1, не берет значение из словаря, не понимаю почему. В задании вводится дата, и нужно вывести предыдущую. users = { ...

Не могу найти ошибку в коде
Привет, помогите решить, я целый день сижу и не могу найти ошибку. Внизу код, но условие выполняется только первое, не могу понять почему...

Не могу найти ошибку в коде (Phyton)
Phyton for i in range(1,100): k = i for j in range(1, 20): k = (((11 * (k % 10)) + (2 * (k / 10))) % 100) ...

2
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
16.11.2016, 02:06
Натаниэль98, в строке 22 вы сравниваете два объекта типа <class 'str'>, отсюда и неверный результат. То же самое вы делаете в строке 13, но здесь вам повезло с входным набором данных. Переменные, предназначенные для хранения значений возраста и очков, должны иметь числовой тип данных. Функция input() же, напротив, возвращает объект, имеющий строковый тип данных.
1
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.11.2016, 14:41
Python
1
2
3
4
5
6
7
8
players = []
 
for i in range(int(input('игроков '))):
    players.append([input('ФИО: '), int(input('возраст ')), int(input('очки ')), input('e-mail ')])
 
print('youngest: ', min(players, key=lambda x: x[1])[0])
print('    best: ', max(players, key=lambda x: x[2])[0])
print('no email: ', len([p for p in players if p[3] == '-']))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2016, 14:41
Помогаю со студенческими работами здесь

Не могу найти ошибку в коде (NameError: name 'с' is not defined)
what = input( 'Какого вида пример вы хотите решить?(+/-/:/*) - ') a = float( input(&quot;Напишите первое число - &quot;) ) b =...

Не могу найти ошибку в коде с модулем json
Всем привет! Читаю книгу Эрика Мэтиза. Была задача: Спросить у пользователя число и записать у файл json, если в файле уже записано число...

Не могу найти ошибку в коде
main = input(question_second) if main == &quot;M&quot; or main == &quot;m&quot;: print(&quot;Your height: &quot;) q =...

Не могу найти ошибку в коде
Буду искренне благодарен за помощь. Делал подробную программу до этого и ошибок не было n=int(input()) d=0 a= for i in range(n): ...

Не могу найти ошибку в коде на пайтоне
Добрый день! Помогите, пожалуйста, найти ошибку в коде: try: res = 0 n = int(input()) assert n &gt; 0 for i...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru