编写一个程序来检查一个数字是否是双基回文数。
回文是指从前往后读和从后往前读都一样的字母、数字的序列。
双基回文数是指在十进制和二进制表示中都是回文的数字。
例如:
585 = 1001001001
是一个双基回文,其二进制是回文形式,十进制也是回文形式。
- 定义函数check_double_base_palindrome(),参数为整数。
- 在函数内,检查数字的十进制和二进制形式是否都是回文。
- 如果是双基回文,返回True,否则返回False。
示例输入
313
示例输出
True
def check_double_base_palindrome(number):
# 此处编写代码
lst1 = [int(a) for a in str(number)]
lst3 = [int(b) for b in bin(number)[2:].zfill(8)]
lst2 = lst1.copy()
lst4 = lst3.copy()
lst4.reverse()
lst2.reverse()
if lst1 == lst2 and lst3==lst4:
return True
else:
return False
# 获取用户输入
number = int(input())
# 调用函数
print(check_double_base_palindrome(number))
新手刷题群:829261271,欢迎一起交流解题思路。