【华为机考】python中十进制,二进制,十六进制转换

题目描述

输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。

输入描述:

 
  

 输入一个整数(int类型)

输出描述:

 
  

 这个数转换成2进制后,输出1的个数

示例1

输入

5

输出

2

python自带的函数真的厉害

print(bin(int(input())).count("1"))

一句话解决。


以下为解析:

一. input()函数获取键盘输入


二. 十进制 + 二进制 + 十六进制相互转换

1.int()函数转十进制

#结果是4
int('100',2)
#结果是64
int('100',8)

注意:一定要加引号,因为二进制是一个字符串

2.bin()函数转二进制

bin()函数整数转换成二进制字符串

#十进制转二进制,其中int(4,10)表示4是一个十进制整数
   
bin(int('4',10))
   
#或者,直接输入一个十进制
   
bin(4)
   
#结果是:0b100

3. oct()函数转八进制

#这里也要注意,4要加引号表示是一个字符串
oct(int('4',10))
   
#或者,不转换直接输入十进制数
   
oct(4)
   
#结果为:04

4.hex()函数转十六进制


#十进制转十六进制
hex(int('4', 10))
   
#或者
   
hex(4)
   
#结果为:0x4

三. count()函数


count() 方法用于统计某个元素在列表中出现的次数。

list.count(obj)





猜你喜欢

转载自blog.csdn.net/acycy/article/details/80437176