您的位置:首页 > 其它

给定一个整数,求其二进制数中1的个数

2012-02-22 14:10 253 查看
不是最优代码,不过至少算出来了,呵呵

1. type(num) == type(1),判断num是不是整数,type(1)是整数int,type(1.2)是float,type('a')是字符串,type(str),type(list),type(tuple),type(dict)都是type

2. 不好判断range的范围,所以用了break,当商是0时,主动退出循环

3. 八进制,十六进制的有空再研究下

=====================================================

#!/usr/bin/python

#coding=utf-8

'''

Created on 2012-2-22

Q:给定一个整数,求其二进制数中1的个数

remainder 余数,temp是商

'''

num = input("请输入一个整数:")

print num

remainder=[]

if type(num) != type(1):

    print "请输入一个整数!" 

else:

    for i in range(0,num):

        temp=num/2

        remainder.append(num%2)

        #print remainder

        #print "商是:%d"%temp

        i=i+1

        num=temp

        if temp==0:

            break

    remainder.reverse()

    #print remainder
    print remainder.count(1) 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  float input list
相关文章推荐