Задача для новичка. Вывести объект из списка
Необходимо: Существует список. Вывести объект из списка при вводе его индекса (input). Если в списке 5 человек, а вводят цифру 6, программа должна сказать «всего в списке 5 человек. Введите номер от 0 – 4». Если вводится буква, программа говорит: «Введите цифру!». И так по кругу.
b = ['Маша', 'Ваня', 'Лена', 'Марина', 'Арнольд']
c = len(b)
dd = c - 1
while True:
def x():
while True:
try:
x = int(input('Введите номер учатника: '))
if x > c:
print('В списке всего ' + c + ' человек. Введите номер от 0 до ' + dd +'!')
else:
return x
except ValueError:
print('Введите число!')
print(b[x])
Выдает ошибку. Но, в силу неопытности, не могу понять что именно не так.
Ответы (1 шт):
Автор решения: Daniik
→ Ссылка
break останавливает(ломает) цикл и идёт дальше по ходу вывод человека лучше перенести в блок else так как так будет понятнее, ибо если x входит в диапазон длины b то мы выводим имя человека
b = ['Маша', 'Ваня', 'Лена', 'Марина', 'Арнольд']
c = len(b)
while True:
try:
x = int(input('Введите номер учатника: '))
if x > c:
print('В списке всего ' + str(c-1) + ' человек. Введите номер от 0 до ' + str(c) +'!')
else:
print(b[x-1])
break
except ValueError:
print('Введите число!')