use*_*186 2 python loops if-statement string-length while-loop
Python的新手,我只是想知道如何限制用户输入以确保它们输入64位
目前我已经有了这段代码
while True:
num = input('Please enter 64-bits')
if len(num=4)
print ('Accepted')
break
else:
print ('Not Accepted, try again')
Run Code Online (Sandbox Code Playgroud)
我知道第3行是错的,但我很确定我必须以某种方式使用len,非常感谢任何帮助,谢谢!
使用int.bit_length方法怎么样?(如果你的意思num是整数)
>>> (1).bit_length()
1
>>> (2 ** 10).bit_length()
11
>>> (1 << 63).bit_length()
64
Run Code Online (Sandbox Code Playgroud)
UPDATE
首先使用输入字符串转换为数字int(以2为基数).
>>> int('000001', 2)
1
>>> int('000001', 2).bit_length()
1
>>> int('00101', 2)
5
>>> int('00101', 2).bit_length()
3
Run Code Online (Sandbox Code Playgroud)