Выводится название, а не значение переменной
Нужно сравнить два числа и перед этим должно написано "Введите два натуральных числа". Когда проверяю выводит название, а не значения переменных
a=int(input("Введите два натуральных числа"))
b=int(input("Введите два натуральных числа"))
if a<b:
print ("Наибольшее число: b ")
print("Наименьшее число: a ")
else:
print("Наибольшее число: a ")
print ("Наименьшее число: b ")
Ответы (1 шт):
Ошибка в следующем:
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)