有人可以解释如何在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
对此有什么快速解决方法?
答案 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