Задача 1. Рассматривая ваше решение, обратите внимание на следующее:
- Пользователь вводит не числовое значение в качестве ввода.
- Пользователь вводит число, большее их 20 или меньше 0.
Предполагается, что вы разрешаете дублирование ввода пользователем, следующий код гарантирует, что вышеупомянутая проблема не произойдет:
user_input_int = list()
while len(user_input_int) < 5:
try:
tmp_in = int(input("Enter any number between 1 to 20: "))
if 0 < tmp_in < 20:
user_input_int.append(tmp_in)
print(user_input_int)
except ValueError as err:
print(err)
** Если вы sh, что пользователь будет вводить только различные значения, которые вы можете изменить list
на set
(не забудьте также изменить append
на add
). **
Задача 2: Решение здесь не настолько сложное, вам просто нужно go по числу от 1 до 20, используя функцию range (вы уже использовали это в вашем решении), и исключить введенные пользователем числа:
# Starting from 1 in order to skip 0 and stop at 21 in order to print 20
for i in range(1, 21):
if i in user_input_int:
continue
print(i)