int函数及其参数

时间:2015-10-06 16:32:13

标签: python python-2.x

我正在研究this series of problems

我不明白问题11和int()的使用方式。我理解将x直接转换为int会导致丢失一些零,所以这样做是不可能的,但我不明白是什么

intp = int(p,2) 

假设正在做。打印intp我得到以下值4,3,10,9。这与0100,0011,1010,1001有什么关系?还有为什么零首先丢失了?

问题11
2级

  

问题:编写一个接受逗号分隔的程序   4位二进制数作为输入,然后检查它们是否是   可以被5整除。可以被5整除的数字   以逗号分隔的顺序打印。

     

示例:

0100,0011,1010,1001
     

然后输出应为:

1010
     

注意:假设数据是由控制台输入的。

     

提示:如果输入数据被提供给问题,它应该   被假定为控制台输入。

value = []
items=[x for x in raw_input().split(',')]
for p in items:
    print p
    intp = int(p, 2)
    print intp
    if not intp%5:
        value.append(p)

print ','.join(value)

4 个答案:

答案 0 :(得分:1)

要将二进制数转换为Decimal,我们必须使用python内置的 int 函数,该函数将二进制数和数字系统的底数作为参数。 示例:

>>> p='1010'
>>> c=int(p,2)
>>> print c
    10

答案 1 :(得分:0)

Python和Python3中的

int()函数将给定基数的数字转换为十进制。

语法:int(string,base)

参数:

字符串:由1和0组成 base :(整数值)数字的底数。 返回:

返回一个等效的整数值 给定基数的二进制字符串的数量。

有关更多信息,Click here

答案 2 :(得分:-1)

正如上面提到的脾气暴躁的评论所说,int函数接受第二个参数,这是转换的基础。所以它将基数2(二进制)变量绑定到p并将其转换为基数为10的int,即正常人。

答案 3 :(得分:-1)

value = []
items=[x for x in input().split(',')]
for p in items:
    intp = int(p, 2)
    value.append(intp)

for x in value:
    if x%5==0:
        print(bin(x))