Введите число с двумя цифрами: 10
введите другое целое число: 1
1 - обратная сторона: 10
Мой код
from pcinput import getInteger
minimum_len = 2
number1 = getInteger("enter a number with only two digits: ")
input_length = int(len(str(number1)))
if input_length < minimum_len:
print("needs to be 2 digits" )
exit(1)
elif not isinstance(number1, int):
print("needs to be a int")
else:
number2 = input("enter another integer: ")
def reverse_int(number1):
return int(str(number1)[::-1])
if number1 == number2:
print(str(number1) + " is the reverse of "+ (str(number2 )))
else:
print(str (number2) + " is not the reverse of " + (str(number1)))
Вы не вызываете функцию reverse_int
любом месте.
- if number1 == number2:
+ if number1 == reverse_int(number2):
Вместо того, чтобы превращать число в строку и находить ее длину, вы можете проверить значение числа. 10 - наименьшее двузначное число, а 99 - самое большое.
Аналогичным образом вы можете избегать строк при изменении цифр:
def reverse(number):
tens = number // 10
ones = number % 10
return 10 * ones + tens
Тогда все, что вам нужно сделать, это обратить одно из чисел:
if number2 == reverse(number1):
print("{0} is the reverse of {1}".format(number2, number1))
Из того, что я понимаю, если вы меняете 10, вы получите 01. И в программировании 01 нет числа, поэтому число просто равно 1. Если бы я был вами, я бы также проверил длину номера.