【问题标题】:How can I generate random numbers and store them in a random amount of re-callable variables? [duplicate]如何生成随机数并将它们存储在随机数量的可调用变量中? [复制]
【发布时间】:2019-02-09 18:03:31
【问题描述】:

所以,我正在尝试编写一个程序,输出(打印)一个(x = 1-1000)之间的随机数(n = 1-10)之间的随机次数,并将这些数字存储在同一个随机数中(n) 可调用变量。这样我就可以输出(打印)(x)个随机数中的最小数(min)。到目前为止,这是我的代码:

from random import randint

for x in range (10):
    x = randint (1,1000)

for n in range (10):
    n = randint (1,10)

while n > 0:
    print(x)
    num(n) = x    
    for x in range (10):
        x = randint (1,1000)

    n = n - 1

def num_low():
    min[num(n)]

print('lowest number is', num_low())

如您所见,我试图将它们放入名为 num(n) 的变量中,其中 (n) 是随机生成的 (1-10) 数字,因此您最终会得到 num 1, num 2, num 3,.....num (n) 等等。这样你就拥有了所有必需的变量,并且随着 while 循环的继续,它应该自动将变量的名称更改为不同的名称。然后,一旦它们全部存储完毕,我就可以调用它们进行最小检查并输出最小变量。

【问题讨论】:

  • IIUC,您可以通过将值存储在字典中来做到这一点
  • 您不能创建动态命名的变量。我建议将随机数放在一个列表中。
  • 这是一个 XY 问题。您不想创建随机数量的变量进行查找。您想要存储您生成的所有随机数。这可以使用list 来完成。如果您只需要跟踪最小值,您实际上只需要一个其他变量来存储当前最小值。
  • @FamousJameous 在 python 中,您可以创建全局动态命名变量。虽然不能保证与当地人一起工作......(在 python2 中,当地人也可以工作)。
  • 您可以将它们存储在列表中,例如l = sample(range(1,1000),4) 然后在列表中应用诸如 min、max 等内置函数。

标签: python random numbers minimum


【解决方案1】:

动态命名的变量从来都不是好主意。使用dictlist 将相关值存储在一起。然后通过索引获得第 nth 元素。

from random import randint

nums = [randint(1, 1000) for _ in range(10)]

print('list:', nums)
print('first element:', nums[0])
print('smallest element:', min(nums))

输出

list: [846, 240, 134, 21, 172, 624, 694, 815, 612, 656]
first element: 846
smallest element: 21

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2021-06-01
    相关资源
    最近更新 更多