【发布时间】:2013-05-15 08:09:22
【问题描述】:
创建一个名为 my_randoms 的“列表”,其中包含 0 到 100 之间的 10 个随机数。
这是我目前所拥有的:
import random
my_randoms=[]
for i in range (10):
my_randoms.append(random.randrange(1, 101, 1))
print (my_randoms)
不幸的是 Python 的输出是这样的:
[34]
[34, 30]
[34, 30, 75]
[34, 30, 75, 27]
[34, 30, 75, 27, 8]
[34, 30, 75, 27, 8, 58]
[34, 30, 75, 27, 8, 58, 10]
[34, 30, 75, 27, 8, 58, 10, 1]
[34, 30, 75, 27, 8, 58, 10, 1, 59]
[34, 30, 75, 27, 8, 58, 10, 1, 59, 25]
它会按照我的要求生成 10 个数字,但它一次生成一个。我做错了什么?
【问题讨论】:
-
把你的打印放在 for 循环之后...而不是里面。
-
实际上,您一次生成一个数字,但您的原始代码让您在每次生成一个时打印这些值。下面讨论打印语句的解决方案只是在生成所有数字后等待并打印列表。
-
Python 中的计算机程序总是一次只做一件事。每个程序都是一系列非常小的步骤。现在,问题变成了“打印列表时我希望完成哪些步骤?”。显然,您希望在打印之前将所有随机数添加到列表中。如果在打印之前删除缩进,它将在 for 循环的所有步骤重复执行后执行。缩进打印是构建列表时执行的步骤序列的一部分。
-
xrange现在是range,python 3.x 以上。