如何阻止一串数字自发变化?



我有一个使用0和1来跟踪信息的程序,但问题是,当我将字符串0110000100001000010001110存储为变量,然后立即打印该变量时,它已更改为664085038522079117896,我不知道为什么。字符串必须有25个字符长,并且由0和1组成,这个更改违反了这两个规则。

pixels = int(input("Enter values: "))
print(pixels)

输入0110000100001000010001110,打印出来的时候变成了664085038522079117896。

您正在使用Python 2。input计算字符串,前导零表示八进制数,因此0111将返回整数73。使用raw_input来获取字符串,如果您想保留二进制字符串,则不要转换为int

在Python 3中可以:

>>> pixels = input('Enter values: ')   # use raw_input in Python 2.
Enter values: 01100001
>>> pixels
'01100001'

最新更新