Python进制转换与ASCII转换

Python进制转换与ASCII转换本文结合实际应用和刷Leetcode总结了Python的一些常用的方法一、字符串二、列表三、字典其他input()用于获取用户的输入值,返回一个字符串类型例:msg=input(‘请输入值’)…

大家好,又见面了,我是你们的朋友全栈君。

进制转换方法

1、字符串其他进制转整型十进制

int(s,2)将字符串s当作二进制转换为10进制整型。如int('11',2)的值为3。

int(s,16)将字符串s当作十六进制转换为10进制整型。如int('11',16)的值为17。

2、整型十进制转字符串其他进制

1、bin(x)将整型十进制转换为二进制字符串。如bin(6)的值为"110"

2、oct(x)将整型十进制转换为八进制字符串。

3、hex(x)将整型十进制转换为十六进制字符串。

【例】力扣第67题二进制求和:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。

class Solution:
    def addBinary(self, a: str, b: str) -> str:
        x ,y= int(a,2),int(b,2)
        res = x+y
        return bin(res)[2:]

ASCII转换方法

1、字符转ASCII

ord()函数。如ord('a')为97

2、ASCII转字符

chr()函数。如chr(65)'A'

【例】力扣第409题最长回文串:给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。

class Solution:
    def longestPalindrome(self, s: str) -> int:       
        l = [0]*58
        temp = 0
        #创建一个记录字符串中字符的数组
        for i in s:
            l[ord(i)-ord('A')]+=1
        #统计数组中出现了奇数次字符的个数即为差值temp
        for j in l:
            if j%2!=0:
                temp+=1
        #如果字符串中的字符全部是成对出现的,返回字符串的长度
        if temp == 0:
            return len(s)
        #如果字符串中有temp个出现了奇数次的字符,比如aabbbccc,那么肯定要 删除一个b或者一个c才能构成回文字符串。
        else:
            return len(s)-temp+1
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144464.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • kettle工具的介绍和使用

    kettle工具的介绍和使用kettle详解(数据抽取、转换、装载)原文地址链接:https://blog.csdn.net/qq_35731570/article/details/71123413文件资源库模式的调度命令:job:$kitchen路径-file=$job路径kitchen.sh-file=/opt/dpbs/kettlefile/pan_quality_indicator….

    2022年10月16日
    4
  • CentOS8 Docker 端口映射

    CentOS8 Docker 端口映射概念端口映射:端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。例:我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。使用使用:dockerrun–namecontainer-name:tag-d-p服务器端口:Doc

    2022年10月18日
    2
  • 几种开源分词工具的比較

    几种开源分词工具的比較

    2021年12月16日
    37
  • 60道计算机网络面试题(附答案,背诵版)

    60道计算机网络面试题(附答案,背诵版)在大概三个月前,我在我网站就整理了计算机网络的面试题了,不过那时候才整理了20道核心的,大概过了两个月,我花了大半天去找计算机网络的面试题,因为20道肯定不够,于是我整理到了42道。不过最近我不是在整理各个公司的面经嘛?发现42道还是漏掉了不少,于是这周就又把自己整理面经看到的计算机网络面试题又补上了,一共60多道。只要把这些面试题拿下,计算机网络基本就差不多了,面试题如下?1.OSI的七层模型分别是?各自的功能是什么?2.为什么需要三次握手?两次不行?3.为什么需要四次

    2022年6月24日
    24
  • linux top cpu核数查看,Linux怎么查看CPU核数?

    linux top cpu核数查看,Linux怎么查看CPU核数?在Linux中,可以使用“cat/proc/cpuinfo|grep”cpucores”|uniq”来查看CPU核数,即每个物理CPU中core的个数。课程推荐:《linux课程》一、知识点介绍1、cpu信息记录在/proc/cpuinfo中。2、Linux中的Top相当于win系统下的任务管理器,也可以用来查询3、CPU总核数=物理CPU个数*每颗物理CPU的核数4、总逻辑CP…

    2025年6月26日
    2
  • IntelliJ IDEA中创建java项目

    IntelliJ IDEA中创建java项目IntelliJIDEA支持java、Android、Maven、Gradle、Kotlin等类型的项目,同时AndroidStudio就是在其基础上二次开发出来的,功能非常强大。本文以IntelliJIDEA2018.2.5版本为例介绍如何创建java项目。1.依次选择菜单:File->New->Project…,打开NewProject界面。2.在左侧的项目类型里选择:Java,点击Next按钮。3.在出现的界面中选中“Createprojectfromtempl

    2022年7月8日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号