输入一个只有两位数的数字: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)))
答案 0 :(得分:2)
您无需在任何地方调用reverse_int
功能。
- if number1 == number2:
+ if number1 == reverse_int(number2):
答案 1 :(得分:1)
根据我的理解,如果你反向10,你将获得01.而在编程01中不是一个数字,所以数字只等于1.如果我是你,我也会验证数字的长度。
答案 2 :(得分:1)
您可以检查数字的值,而不是将数字转换为字符串并查找其长度。 10是最小的两位数字,99是最大的数字。
反转数字时可以避免使用字符串:
if number2 == reverse(number1):
print("{0} is the reverse of {1}".format(number2, number1))
然后您需要做的就是撤消其中一个数字:
u8 Crc(u8 *buffer, u8 length)
{
u8 crc = 0, idx;
while ( length-- != 0 )
{
crc = crc ^ *buffer++;
for ( idx = 0; idx < 8; ++idx )
{
if ( crc & 0x01 ) crc = (crc >> 1) ^ 0x8C;
else crc >>= 1;
}
}
return crc;
}