Python int函数及其参数
我正在工作 我不理解问题11和使用Python int函数及其参数,python,python-2.x,Python,Python 2.x,我正在工作 我不理解问题11和使用int()的方式。我知道将x直接转换为int会导致一些零丢失,所以这样做是不可能的,但我不知道是什么原因 intp = int(p,2) 他应该在做什么。打印出intp我得到以下值,4,3,10,9。这与010000110101001有什么关系?还有,为什么零首先会丢失 问题11 二级 问题:编写一个接受逗号分隔的序列的程序 4位二进制数作为其输入,然后检查它们是否正确 可被5整除或不可被5整除。可被5整除的数字是 以逗号分隔的顺序打印 例如: 0100,0
int()
的方式。我知道将x
直接转换为int
会导致一些零丢失,所以这样做是不可能的,但我不知道是什么原因
intp = int(p,2)
他应该在做什么。打印出intp
我得到以下值,4,3,10,9
。这与010000110101001
有什么关系?还有,为什么零首先会丢失
问题11二级 问题:编写一个接受逗号分隔的序列的程序 4位二进制数作为其输入,然后检查它们是否正确 可被5整除或不可被5整除。可被5整除的数字是 以逗号分隔的顺序打印 例如:
0100,0011,1010,1001
>>> p='1010'
>>> c=int(p,2)
>>> print c
10
那么输出应该是:
1010
注意:假设数据是通过控制台输入的
提示:如果向问题提供了输入数据,则应
被假定为控制台输入
正如上面的暴躁评论所建议的,int函数接受第二个参数,这是转换的基础。因此,它使用绑定到p的base 2(二进制)变量,并将其转换为base-10 int,即普通人。要将二进制数转换为十进制数,我们必须使用python内置的int函数,该函数将二进制数和数字系统的基数作为参数。
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))
例如:
>>> p='1010'
>>> c=int(p,2)
>>> print c
10
Python和Python3中的int()函数将给定基数中的数字转换为十进制数
语法:int(字符串,基)
参数:
字符串:由1和0组成
基数:(整数值)数字的基数。
返回:
返回一个等价的整数值
给定基中的二进制字符串
更多信息你知道二进制是什么吗?请阅读python手册页,了解
int
它将二进制变成的仅仅是一个数字。数字没有任何基础,它们只有在输入或输出时才有基础。太好了,我想我现在明白了。int(p,2)中的2是指二进制转换,其结果将是(4,3,10,9),具体取决于我正在计算的值,结果数是基数-10,基本上是(010000110101001)的人工翻译,但数学应用于其中一个(intp%5)会给我同样的结果,所以我必须使用BASE-10。请考虑添加一些解释来澄清你的答案。虽然这可能回答作者的问题,但它缺少一些解释词和链接到文档。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑您的答案。这根本不能回答问题。