IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 【牛客网华为机试】HJ5 进制转换 -> 正文阅读

[开发测试]【牛客网华为机试】HJ5 进制转换

题目

描述

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

输入描述:

输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子https://www.nowcoder.com/discuss/276处理多组输入的问题。

输出描述:

输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例1

输入:

0xA
0xAA

输出:

10
170

解题思路

输入的16进制前两个字符必为‘0x’,所以先截掉前面两个字符。16进制只会出现ABCDEF6个字母,所以提前创建字母对应数字的字典num_dict。创建一个初始值为0的result,用来记录对应十进制的数值,接着循环每一个字符,将字符通过num_dict.get(in_str[i],in_str[i])转换成数字后,根据对应的位置乘上16的(len(in_str)-i-1)次方,最后求和。

>>>in_str = "0xAA"
>>>in_str[2:]
'AA'
>>>num_dict = {"A":10, "B":11, "C":12, "D":13, "E":14, "F":15}
>>>num_dict.get(3,3)
3
>>>num_dict.get('A','A')
10
>>>in_str = in_str[2:]
>>>len(in_str)
2
>>>i = 0
>>>len(in_str)-i-1
1
>>>num_dict.get('A','A')*(16**1)
160
>>>i = 1
>>>len(in_str)-i-1
0
>>>num_dict.get('A','A')*(16**0)
10
>>>160+10
170

代码

while True:
    try:
        in_str = input()[2:]
        num_dict = {"A":10, "B":11, "C":12,
                   "D":13, "E":14, "F":15}
        result = 0
        for i in range(len(in_str)):
            result = result + int(num_dict.get(in_str[i], in_str[i])) * (16**(len(in_str)-i-1))
        print(result)
    except Exception as e:
        break

Reference

https://www.nowcoder.com/ta/huawei/

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 12:24:47  更:2021-08-26 12:26:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:44:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码