1

有人可以解释如何在 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 开头... 例如:0387 它打印“您的代码是 387”作为 0387

有什么快速解决方法?

4

3 回答 3

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

% 表示这里有一个变量。04 表示将其零填充为四个字符。i 表示它是一个整数。文档在这里。

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

print("Your code was {:04n}".format(count))
于 2012-11-04T20:49:14.410 回答
3

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

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

这会将您的号码补零至最多 4 位数字。有关详细信息,请参阅字符串格式化文档。

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

print("Your code was", str(count).zfill(4))
于 2012-11-04T20:51:11.813 回答
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
于 2012-11-04T20:55:47.010 回答