前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进制转换与ASCII转换

Python进制转换与ASCII转换

作者头像
全栈程序员站长
发布2022-08-31 09:22:30
2.1K0
发布2022-08-31 09:22:30
举报

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

进制转换方法

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。

代码语言:javascript
复制
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” 不能当做一个回文字符串。

代码语言:javascript
复制
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.cn/144464.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 进制转换方法
  • ASCII转换方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档