如何在for循环内不断生成随机数

问题描述 投票:0回答:2

我正在尝试使用 Ursina 制作 2d 游戏。一切都很顺利,直到我通过循环制作地形。它工作得很好,但是当我尝试使用

random.radiant
使块的类型随机时,但它只生成一次数字。

 import random
 class chunk_type():
      chunk_type=random.randint(1,2)
 world_size=8
 for i in range(world_size):
    chunk_type()
    print(chunktype.chunktype)

import random
world_size=8
for i in range(world_size)
   chunk_type=random.randint(1,2)
   print(chunk_type)

上面的代码应该输出一串1到2之间的8个随机数。 我尝试过更新方法、while 方法和 for 循环。辐射方法只工作一次,所以当我打印变量进行调试时,它只读取所有 1 或 2。我能做些什么?没有错误消息,因为 randiant 函数只工作一次。 我该如何解决这个问题?

python loops random
2个回答
1
投票

如果您只寻找整数,您可以这样做。

import random

def chunk_type():
      return random.randint(1,2)

world_size=8

for i in range(world_size):
    random_int = chunk_type()
    print(random_int)

1
投票

“...上面的代码应该输出应该输出一串1到2之间的8个随机数。我已经尝试过更新方法,而true方法和I in range的方法。...”

使用列表理解

import random as r
n = 8
a = [r.randint(1, 2) for i in range(n)]
© www.soinside.com 2019 - 2024. All rights reserved.