Напишите программу, которая просит пользователя ввести положительное число, и если пользователь вводит положительное число, выводит на экран сообщение "Молодец!", если нет – "Это не положительное число.".
Считайте, что пользователь в любом случае вводит числа, а не какой-то текст.
n = float(input("Enter a number: "))
if n > 0:
print("Молодец!")
else:
print("Это не положительное число")
Enter a number: 4 Молодец!
При желании можно написать более универсальный код, который будет на первом шаге проверять, ввёл ли пользователь строку с числом. Можно сохранить input()
в переменную и посмотреть на метод .isnumeric()
или .isdigit()
для строк (только для целых чисел).
Пользователь вводит с клавиатуры два числа через пробел. Напишите код, который возвращает максимальное из двух введенных значений.
Пример:
Ввод:
Введите два числа: 5.7 8
Вывод:
8
# решение 1 – с if-else
inp = input("Enter two numbers: ")
strings = inp.split()
numbers = [float(i) for i in strings]
if numbers[0] > numbers[1]:
print(numbers[0])
else:
print(numbers[1])
Enter two numbers: 5 7 7.0
# решение 2 – без if-else
inp = input("Enter two numbers: ")
strings = inp.split()
numbers = [float(i) for i in strings]
print(max(numbers))
Enter two numbers: 5 7.6 7.6
Дан список N
из целых чисел. Напишите код, который делает следующее: выводит каждый элемент списка на экран и для каждого элемента либо выводит комментарий "Это четное число", либо комментарии "Это нечетное число".
Подсказка: оператор для нахождения остатка от деления – это %
.
N = [3, 6, 7, 0, 1, 9]
for n in N:
if n % 2 == 0:
print(n, "Это четное число")
else:
print(n, "Это нечетное число")
3 Это нечетное число 6 Это четное число 7 Это нечетное число 0 Это четное число 1 Это нечетное число 9 Это нечетное число
У питона есть набор любимых чисел.
favorites = [3, 7, 11, 23, 18, 48, 81]
Напишите программу, которая просит пользователя ввести целое число, и если оно нравится питону, на экран будет выводиться сообщение: "Мое любимое число!", если нет ‒ "Эх, ну почему?".
# решение 1 – с оператором in
favorites = [3, 7, 11, 23, 18, 48, 81]
num = int(input("Введите число: "))
if num in favorites:
print("Мое любимое число!")
else:
print("Эх, ну почему?")
Введите число: 5 Эх, ну почему?
# решение 2 – без оператора in
favorites = [3, 7, 11, 23, 18, 48, 81]
num = int(input("Введите число: "))
s = 0
for i in favorites:
if num == i:
s += 1
else:
s += 0
if s == 1:
print("Мое любимое число!")
else:
print("Эх, ну почему?")
Введите число: 23 Мое любимое число!
# решение 3 – без in, но с any()
if any([num == n for n in favorites]):
print("Мое любимое число!")
else:
print("Эх, ну почему?")
Мое любимое число!
word = input("Введите число: ")
if word.isdigit():
print("Ок")
z = int(word)
else:
print("Введите число!")
word = input("Введите число: ")
Введите число: 5 Ок
Дополнение к строкам: как сделать так, чтобы текст внутри строки исполнялся как «настоящий» код Python:
# просто строка с текстом
"print(2 + 4)"
'print(2 + 4)'
# eval() – запускает код, заключенный в строке
eval("print(2 + 4)")
6
# exec() – запускает код, заключенный в строке +
# позволяет таким образом создавать переменные
exec("x1 = 2")
# создаем в цикле переменные x1-x5 вида:
# x1 = "folder1" ... x5 = "folder5"
for i in range(1, 6):
s = f"x{i} = 'folder{i}'"
exec(s)
print(x1, x2, x3, x4, x5)
folder1 folder2 folder3 folder4 folder5
Напишите программу, которая запрашивает у пользователя пароль, и далее:
# вариант 1 – классический while
password = "hsepassword"
attempt = input("Enter your password: ")
while attempt != password:
print("Incorrect password, try again!")
attempt = input("Enter your password: ")
print("Login success")
Enter your password: hse Incorrect password, try again! Enter your password: h Incorrect password, try again! Enter your password: hsepassword Login success
# вариант 2 – while True
password = "hsepassword"
attempt = input("Enter your password: ")
while True:
if password == attempt:
break
else:
print("Incorrect password, try again!")
attempt = input("Enter your password: ")
print("Login success")
Enter your password: 4 Incorrect password, try again! Enter your password: 5 Incorrect password, try again! Enter your password: hse Incorrect password, try again! Enter your password: hsepassword Login success
Ещё пара решений с ограничением на количество попыток ввода пароля:
password = "hsepassword"
attempt = input("Enter your password: ")
for i in range(0, 2):
if password == attempt:
print("Login success")
break
else:
attempt = input("Enter your password: ")
Enter your password: р Enter your password: hsepassword Login success
password = "hsepassword"
for i in range(0, 3):
attempt = input("Enter your password: ")
if password == attempt:
print("Login success")
break
else:
print("Incorrect password, try again!")
Enter your password: t Incorrect password, try again! Enter your password: t Incorrect password, try again! Enter your password: t Incorrect password, try again!