Выводится название, а не значение переменной

Нужно сравнить два числа и перед этим должно написано "Введите два натуральных числа". Когда проверяю выводит название, а не значения переменных

a=int(input("Введите два натуральных числа"))

b=int(input("Введите два натуральных числа"))

if a<b:
    print ("Наибольшее число: b ")
    print("Наименьшее число: a ")
else:
    print("Наибольшее число: a ")
    print ("Наименьшее число: b ")

Ответы (1 шт):

Автор решения: dresqd

Ошибка в следующем:

print ("Наибольшее число: b ")

То, что находится внутри кавычек является строкой. "b" в данном случае - просто символ, который не "заменяется" значением переменной при обработке кода интерпретатором.

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

Пример использования f-строки:

a = 2
print(f"Значение переменной а = {a}")

Вывод будет таким >>> Значение переменной а = 2

Полный пример решения с использованием f-строк такой:

a=int(input("Введите два натуральных числа:\n"))
b=int(input())
if a > b:
    print(f"Наибольшее число a = {a}")
elif b > a:
    print(f"Наибольшее число b = {b}")
else:
    print(f"Оба числа равны {b}")

Еще один способ - воспользоваться возможностями print(). print может принимать множество аргументов разных типов. Например:

a = 2
b = "two"
print("Текст", a, "еще текст", b)

В результате вывод >>> Текст 2 еще текст two

Пример решения через аргументы print:

a = int(input("Введите два натуральных числа:\n"))
b = int(input())
if a > b:
    print("Наибольшее число a =", a)
elif b > a:
    print(f"Наибольшее число b =", b)
else:
    print(f"Оба числа равны", b)
→ Ссылка