Python-随机库//第378行,选择返回seq[self.randbelow(len(seq))]



我是python的新手,我想做一个小游戏来猜飞机。在下面的代码中,当";valor_posicio_random";是2,标题中出现了问题,我不知道为什么。

import random
x=0
res=0
lis_av = { 1:"Airbus A380" , 2:"Airbus A340" , 3:"Airbus A330" , 4:"Boeing 777" , 5:"Boeing 787" , 6:"Boeing 747"}
def posicion_random(lis_av, res):
print(lis_av[valor_avion])
if valor_posicion_random == 1:
print("n 1.",lis_av[valor_avion],"n 2.",random.choice(lis_av))
elif valor_posicion_random == 2:
print("n 1." , random.choice(lis_av), "n 2.",lis_av[valor_avion])
res=int(input("What plane is it?"))
print(lis_av)
while x==0:
valor_avion = random.randint(1,6)
valor_posicion_random = random.randint(1,2)
posicion_random(lis_av, res)
x=int(input("Try again? (1=No//0=Yes)"))

Pd。我会使用PIL来放置一个图像来猜测飞机,但目前我使用def函数下面的打印来了解飞机Pd2.我是拉丁语,很抱歉拉丁语变量<3

在您的代码中,有时会出现随机选择(lis_av(的错误,错误为seq[self.randbelow(len(seq((]。为了解决此问题,您需要将lis_av变量修改为

lis_av = {0:"your value", 1:"Airbus A380" , 2:"Airbus A340" , 3:"Airbus A330" , 4:"Boeing 777" , 5:"Boeing 787" , 6:"Boeing 747"}

使用lis_av[random.choice(list(lis_av))]而不使用随机选择(lis_av(

全代码

import random
x=0
res=0
lis_av = { 1:"Airbus A380" , 2:"Airbus A340" , 3:"Airbus A330" , 4:"Boeing 777" , 5:"Boeing 787" , 6:"Boeing 747"}
def posicion_random(lis_av, res):
print(lis_av[valor_avion])
if valor_posicion_random == 1:
print("n 1.",lis_av[valor_avion],"n 2.",lis_av[random.choice(list(lis_av))])
elif valor_posicion_random == 2:
print("n 1." , lis_av[random.choice(list(lis_av))], "n 2.",lis_av[valor_avion])
res=int(input("What plane is it?"))
print(lis_av)
while x==0:
valor_avion = random.randint(1,6)
valor_posicion_random = random.randint(1,2)
posicion_random(lis_av, res)
x=int(input("Try again? (1=No//0=Yes)"))

签出此博客

https://moonbooks.org/Articles/How-to-select-randomly-keys-from-a-dictionary-in-python-3-/

最新更新