import random
string1 = "Fred"
string2 = "Jones"
int1 = 4
int2 = 8
randomInt = random.randint(1, 100)
GloriousListOfFun = [string1, string2, int1, int2, randomInt]
RandomFromGloriousListOfFun = random.choice(GloriousListOfFun)
x=0
while x<1:
line1 = "Hi I am {} from Albion".format(RandomFromGloriousListOfFun)
print(line1)
我知道这是99.9%无用的,但现在这将返回类似:“嗨,我是从9阿尔比恩”“嗨,我是从9阿尔比恩”“嗨,我是从维奇9”等...有谁知道我怎么可能让它重演每次都这样,但有一个随机变量?谢谢。
你的错误是在这里
RandomFromGloriousListOfFun = random.choice(GloriousListOfFun)
因为它使你的随机固定!你应该做的是运行random.choice(GloriousListOfFun)
每一次,就像这样:
while x<1:
line1 = "Hi I am {} from Albion".format(random.choice(GloriousListOfFun))
print(line1)
你可以做一个RandomFromGloriousListOfFun
功能,在每次迭代调用它,所以它从列表中,每次返回一个随机抽样:
GloriousListOfFun = [string1, string2, int1, int2, randomInt]
RandomFromGloriousListOfFun = lambda: random.choice(GloriousListOfFun)
for _ in range(5):
print("Hi I am {} from Albion".format(RandomFromGloriousListOfFun()))
产量
Hi I am 97 from Albion
Hi I am Fred from Albion
Hi I am 8 from Albion
Hi I am Jones from Albion
Hi I am 8 from Albion
你可以把这些随机量为while循环这样每次它会得到新的随机。
import random
string1 = "Fred"
string2 = "Jones"
int1 = 4
int2 = 8
x=0
while x<1:
randomInt = random.randint(1, 100)
GloriousListOfFun = [string1, string2, int1, int2, randomInt]
RandomFromGloriousListOfFun = random.choice(GloriousListOfFun)
line1 = "Hi I am {} from Albion".format(RandomFromGloriousListOfFun)
print(line1)