Python编程练习8

因幕起 因灯亮 因众人的鼓掌 才发现 我的歌 竟是这一剧中的辉煌

中间暂停了一段时间的练习,应该惩罚一下,这个周末就行动起来,自我惩罚。
接下来继续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介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入...
    小小不懂11阅读 8,715评论 2 30
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,348评论 0 33
  • python学习笔记 声明:学习笔记主要是根据廖雪峰官方网站python学习学习的,另外根据自己平时的积累进行修正...
    renyangfar阅读 8,213评论 0 10
  • 笑容不一定愉悦; 泪水也未必悲戚! 或许情绪只有一瞬; 最舒缓的,恰恰是遗忘!
    飘零叶落阅读 1,813评论 0 0
  • 东西总是越堆越多,似乎每样东西都需要,但是实际上自己要用的时候也不知道它们到底放在哪里了。突然间我发现我的房间已经...
    chen_lei阅读 1,729评论 0 0