如何猜测用户输入的4位数密码(我们不知道)?

时间:2012-11-04 20:47:35

标签: python python-3.x

有人可以解释如何在python中执行此操作吗?这个想法是找出用户输入的4位数代码(例如:3968)。如何设计算法来寻找这个? 这就是我得到的......:

code=int(input("Enter 4 digit secret code:"))
count=0000
while(count!=code):
    count=count+1
print("Your code was",count)

这非常有效....除非代码以0开头... Ex:0387 它将“你的代码是387”打印为0387

对此有什么快速解决方法?

3 个答案:

答案 0 :(得分:5)

print("Your code was %04i" % count)

%意味着这里有一个变量。 04表示零填充到四个字符。 我的意思是它是一个整数。 Docs here.

替代版本,使用新的,更灵活的.format() formatting

print("Your code was {:04n}".format(count))

答案 1 :(得分:3)

您需要使用一些格式打印它:

print("Your code was {0:04d}".format(count))

将您的号码填零最多4位数。有关详细信息,请参阅string formatting文档。

或者,您可以使用str.zfill() method在字符串转换后添加额外的零:

print("Your code was", str(count).zfill(4))

答案 2 :(得分:1)

这是一种纯粹使用字符串的方法:

import itertools

code = input("Enter 4 digit secret code:")

for attempt in itertools.product("0123456789", repeat=4):
    attempt = ''.join(attempt)
    if attempt == code:
        print("Your code was", attempt)
        break