首页 > 编程语言 >双基回文数(python练习)

双基回文数(python练习)

时间:2024-06-22 11:00:20浏览次数:30  
标签:python number 切片 字符串 双基 十进制 回文

编写一个程序来检查一个数字是否是双基回文数。

回文是指从前往后读和从后往前读都一样的字母、数字的序列。

双基回文数是指在十进制和二进制表示中都是回文的数字。

例如:

585 = 1001001001

是一个双基回文,其二进制是回文形式,十进制也是回文形式。

  • 定义函数check_double_base_palindrome(),参数为整数。
  • 在函数内,检查数字的十进制和二进制形式是否都是回文。
  • 如果是双基回文,返回True,否则返回False

示例输入

313

示例输出

True

本题涉及python切片和进制转换函数的灵活应用。

首先将数字转换文字符串,然后对字符串进行切片,注意切片只能用于字符串、列表等序列,不能用于数字,因此要多一个类型转换操作。

切片格式:sequence[start:stop:step],其中start表示开始的位置,stop表示切片结束的位置,但不包括该位置的元素,step表示步长。

本题中的[::-1]中的第一个:表示取整个字符串,第二个:对应格式中stop和step之间的:,-1表示步长为-1,说明是从最后一个元素往前面一个元素排列,即翻转。
本题中还用到了进制转换函数bin(),注意其参数是一个十进制数,不能是字符串,而且其结果是以0b开头的二进制表示字符串,需要对其进行切片处理。

def check_double_base_palindrome(number):
    # 此处编写代码 
    if number!=int(str(number)[::-1]):
        return False
    if str(bin(number)[2:])!=str(bin(number)[2:])[::-1]:
        return False
    return True

# 获取用户输入
number = int(input())

# 调用函数
print(check_double_base_palindrome(number))

标签:python,number,切片,字符串,双基,十进制,回文
From: https://blog.csdn.net/JYXCCC/article/details/139878871

相关文章

  • 聪明办法学 Python第5节:循环
    作业链接:https://hydro.ac/d/datawhale_p2s/user/53146for循环和循环范围for循环的特点基于提供的范围,重复执行特定次数的操作defsumFromMToN(m,n):total=0#注意:range(x,y)是左闭右开区间,包含x,不包含yforxinrange(m,n+1):total......
  • 「Python爬虫」最细致的讲解Python爬虫之Python爬虫入门(一)
    一、认识爬虫1.1、什么是爬虫?爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。1.2、Python爬虫架构调度器:相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复抓取UR......
  • Python进大厂比赛中的特征工程与模型训练
    Python进大厂比赛中的特征工程与模型训练一、引言二、技术概述特征工程模型训练三、技术细节特征工程模型训练四、实战应用五、优化与改进特征工程模型训练六、常见问题特征工程模型训练七、总结与展望一、引言Python作为数据科学界的明星语言,其在机器学习、数......
  • 超越datetime:Arrow,Python中的日期时间管理大师
    介绍Arrow是一个Python库,它提供了一种合理且对人类友好的方法来创建、操作、格式化和转换日期、时间和时间戳。它实现了对datetime类型的更新,填补了功能上的空白,提供了一个智能的模块API,支持许多常见的创建场景。简单来说,它可以帮助您使用更少的导入和更少的代码来处理日期和时间......
  • python期末考试(个人理解)主要内容为函数和文件与数据格式化(三)持续更新
    如有错误,敬请更新!!!函数的概述:将一串代码打包成一个包,为了以后方便使用函数的定义:使用关键字(保留字)def来定义defmy_function():  #函数体  print("Hello,World!")函数的调用#定义一个函数,它接受两个参数并返回它们的和defadd_numbers(a,b):  result=......
  • 运筹学练习Python精解——整数规划
    练习1一汽车厂生产小、中、大三种类型的汽车,已知各类型每辆车对钢材、劳动时间的需求,利润以及每月工厂钢材、劳动时间的现有量如下表所示,试制定月生产计划,使工厂的利润最大。进一步讨论:由于各种条件限制,如果生产某一类型汽车,则至少要生产80辆,那么最优的生产计划应作何改变。......
  • python笔记
    pythonflatten()flatten()方法用于将多维数组转换为一维数组:#创建一个二维数组array_2d=np.array([[1,2,3],[4,5,6]])#使用flatten()方法将其展平为一维数组array_1d=array_2d.flatten()print(array_1d)输出结果是:[1,2,3,4,5,6]是X.flatten()[:......
  • python---计算器界面以及功能
    代码:importtkinterastkfromtkinterimport*root=Tk()root.title("calculate")result_num=tk.StringVar()result_num.set('')#在Tkinter中,StringVar是一个特殊的变量类,它用于与Tkinter的某些部件(如标签Label、条目Entry等)的文本属性进行双向绑定。        ......
  • python---学生通讯录
    代码:importcsvstudents=[]defmenu():    print("学生信息管理")    print("1.显示学生信息")    print("2.添加学生信息")    print("3.删除学生信息")    print("4.保存学生信息")    print("5.退出")defadd():    student={}    ......
  • 2024年华为OD机试真题-分披萨-(C++/Java/python)-OD统一考试(C卷D卷)
    题目描述"吃货"和"馋嘴"两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数个小块。但是粗心的服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小。由于两人都想吃到最多的披萨,他们商量了一个他们认为公平的分法:从"吃货"开始,轮流......