Python编程练习8

Python编程练习8_第1张图片
因幕起 因灯亮 因众人的鼓掌 才发现 我的歌 竟是这一剧中的辉煌

中间暂停了一段时间的练习,应该惩罚一下,这个周末就行动起来,自我惩罚。
接下来继续python的练习,今天的题目也比较简单。
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
这里面应用了python的自带函数bin,可以将数字转换为二进制,然后用count统计1出现的次数。对于统计0的次数,就要注意了,二进制前面是0b开头的,所以还要减一。

a=input()
print list(bin(a)).count('1')  # 可以把list函数去掉

#看到一个写的很完整的:
# !/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
def countone(num):
    c = 0
    change_num = '{0:b}'.format(num)
    for item in change_num:
        if item == '1':
            c += 1
    return c
 
if __name__ == '__main__':
    try:
        while True:
            input_str = sys.stdin.readline().strip()
            if input_str == '':
                break
            print(countone(int(input_str)))
    except:
        pass

参考资料:https://www.nowcoder.com

你可能感兴趣的:(Python编程练习8)