我正在创建一个基于文本的游戏,我想实现一个辐射4'荒地'系统。我发现一个很好的保持随机性的方法是为每个数字生成一个random.randint(1,10)
函数和一些if语句。问题是当我随机化变量时,数字保持不变。这是我的代码(这是我的程序的一个测试示例,我认为我不需要全部代码):
import random
def randomA():
return random.randrange(1,5)
global rollA
rollA = randomA()
alive = True
while alive == True:
p = input("Type w")
rollA
if p == "w":
print(rollA)
Python模块运行良好。你的实现是错误的。你真的应该看看这些文件。但这里有一个例子:
显示:
另外,您的代码并没有按照Python最佳实践约定(aka)编写,也没有接近Python最佳实践约定。政治公众人物-8。请考虑遵守公约,这会有帮助的!你知道吗
最后,我不明白为什么使用
global
变量来保存随机数!坏主意!你知道吗rollA
是一个简单的变量,它被赋予从randomA()
函数返回的值。rollA
是而不是一个可调用的函数,它返回一个新的随机数,如果这是您所期望的。你知道吗因此
rollA
从未被赋予另一个值,因此rollA
的值不会改变。你知道吗我认为您的意思是通过调用
randomA()
来重新分配到循环中的rollA
:还有几件事:
rollA
不需要是全局变量,因为它从不被访问 在本地范围内。你知道吗与
while alive == True:
相比,您可以更简单地编写这里没有显示,但是有没有设置
alive = False
的选项 在你的循环体里?如果不是,你有一个无限循环。相关问题 更多 >
编程相关推荐