Python随机变量不工作

Python随机变量不工作,python,Python,我正在创建一个基于文本的游戏,我想实现一个fallout 4“wasteland”系统。我认为一个保持一切随机性的好方法是为每个数字生成一个random.randint1,10函数和一些if语句。问题是当我随机化变量时,数字保持不变。这是我的代码这是我的程序的一个测试样本,我想我不需要全部: import random def randomA(): return random.randrange(1,5) global rollA rollA = randomA() alive =

我正在创建一个基于文本的游戏,我想实现一个fallout 4“wasteland”系统。我认为一个保持一切随机性的好方法是为每个数字生成一个random.randint1,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)
rollA是一个简单的变量,它被赋予从randomA函数返回的值。rollA不是一个返回新随机数的可调用函数,如果这是您所期望的

由于rollA从未被分配另一个值,因此rollA的值不会更改

我认为您的意思是通过调用randomA在循环中重新分配给rollA:

还有几件事:

rollA不需要是全局变量,因为它从不被访问 在局部范围内。 而不是在活着的时候==True:您可以更简单地编写

while alive:
    ...
这里不显示,但是否有设置alive=False的选项 在你的循环体中?如果不是,则有一个无限循环


Python模块工作正常。您的实现是错误的。你真的应该看看这些文件。但这里有一个例子:

from random import randint

randomA = lambda x: randint(1, x)


while True:
    num = randomA(10)
    if num != 4:
        print(num)
    else:
        break
显示:

6
6
2
6
8
5
此外,您的代码并不是按照Python最佳实践惯例(又名Python最佳实践惯例)编写的。PEP-8。请考虑遵守公约,这将有所帮助!
最后,我不明白为什么要用一个全局变量来保存一个随机数!坏主意

您的代码不明确。我试着改正,但我不知道你到底想要什么。谢谢!我对Python比较陌生,所以我不知道PEP是什么意思。我也没有看过文档,再次感谢!谢谢,帮了很多忙!
6
6
2
6
8
5