【华为_005】进制转换

①题目要求

1)题目描述:

写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。

2)输入描述:

输入一个十六进制的数值字符串。

3)输出描述:

输出该字符串的十进制字符串。

4)示例1:


输入:

0xA

输出:

10

②参考答案:

def func():
    s = list(input().lower())
    lst = []
    num = 0
    for i in range(len(s)):
        if s[i] in ('0','1','2','3','4','5','6','7','8','9') and i>= 2:
            lst.apeend(int(s[i]))
        elif s[i] in ('a','b','c','d','e','f') and i >= 2:
            x = ord(s[i]) - 87
            lst.append(x)
    for i in range(-1,-len(lst)-1,-1):
        num += (int(lst[i]))*(16**(-i-1))
    print(num)
func()

③知识点

1)ord()

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

语法

以下是 ord() 方法的语法:

ord(c)

参数

  • c -- 字符。

返回值

返回值是对应的十进制整数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值