题目
十进制转换成十六进制(0-F),并输出十六进制数中字母的个数,没有字母则输出0。
解题思路
用内置函数hex()转换进制,将16进制数转换成列表判断其中字母的个数用isalpha()。
num = int(input())
hexi = hex(num)
hexi = list(hexi)
hexi.pop(0)
hexi.pop(0)
count = 0
for i in hexi:
if i.isalpha():
count = count + 1
print(count)
测试用例
十进制 | 十六进制 | 字母个数 |
20 | 14 | 0 |
65 | 41 | 0 |
170 | AA | 2 |
196 | C4 | 1 |
6782 | 1A7E | 2 |
上面题目要求是单次输入即可,也可以循环输入,并且输出转换后的十六进制数
while True:
try:
num = int(input())
hexi = hex(num)
hexi = list(hexi)
hexi.pop(0)
hexi.pop(0)
count = 0
for i in hexi:
if i.isalpha():
count = count + 1
print(count)
except:
break