【发布时间】:2021-07-21 10:08:20
【问题描述】:
我想要一个程序在终端打印这个输出:
0000
0001
0002
...
0010
0011
...
9990
9991
...
因为我想找到所有 0 到 9 位的 4 位密码。
于是我开始用python编写这个程序:
num = ""
for a in range(0 , 10) :
num += str(a)
for b in range(0 , 10) :
num += str(b)
for c in range(0 , 10) :
num += str(c)
for d in range(0 , 10) :
num += str(d))
print(num)
num = ""
但我收到了这个输出:
2
3
4
5
6
7
8
9
9000
1
2
...
30
...
100
...
所以我决定测试另一个程序:
num = []
for a in range(0 , 10) :
num.append(str(a))
for b in range(0 , 10) :
num.append(str(b))
for c in range(0 , 10) :
num.append(str(c))
for d in range(0 , 10) :
num.append(str(d))
print(num)
num = []
但我还是没有成功:
['2']
['3']
['4']
['5']
['6']
['7']
['8']
['9']
['9', '0', '0', '0']
...
['4']
['5']
...
['7']
...
['9', '0']
...
['9']
['9', '0', '0']
...
['5', '0']
['1']
...
['6', '0']
...
['7', '0']
...
['8', '0']
...
['9', '0']
['1']
['2']
['3']
['4']
...
['9']
有人知道如何解决这个问题吗?
【问题讨论】:
-
我看到这些是连续的数字,为什么不打印一个左填充为 4 的计数器?
-
[str(i).zfill(4) for i in range(0, 10000)] -
如果你真的想尝试从0000到9999的所有数字,为什么不使用计数器并正常增加呢?您最终可以将缺失的零填充到左侧(例如,1 是 0001,您只需在左侧添加三个零)。
标签: python for-loop nested-loops