我知道这将是非常具体的,甚至可能问过之前,但我找不到任何可以帮助我与它。我正在尝试创建一种类似于“文件,请”的游戏,并且在同时使用“如果”变量和列表时遇到困难
这是我的密码:
import time
import random
#Variables
NAT = ["British","American","French","Spanish","Italian"]
GEN = ["M","F"]
if GEN == "M":
FN = ["Greg","Harvey","Joseph","Prabesh","John","Joe"]
elif GEN == "F":
FN = ["Emma","Olivia","Sophia","Ava","Georgia","Nia"]
LN = ["Sutton","Little","Mayers","Pearce","Fagu","Smith"]
D = list(range(1,28))
M = ["Jan","Feb","March"]
Y = list(range(1900,1975))
#Design
def passport():
global NAT
global FN
global GEN
print(" __________")
print("|-PASSPORT-|")
print("|Nationality:",random.choice(NAT))
print("|Gender:",random.choice(GEN))
print("|First Name:",random.choice(FN))
print("|Last Name:",random.choice(LN))
print("|D.O.B:",random.choice(D),random.choice(M),random.choice(Y))
passport()
在我加入性别变量之前,一切都很顺利。我得到的错误是:
Traceback (most recent call last):
File "C:/Users/Greg/AppData/Local/Programs/Python/Python37-32/Games.py", line 60, in <module>
passport()
File "C:/Users/Greg/AppData/Local/Programs/Python/Python37-32/Games.py", line 55, in passport
print("|First Name:",random.choice(FN))
NameError: name 'FN' is not defined
>>>
任何帮助都将不胜感激,因为我不知道从这里去哪里。很抱歉让你很痛苦:)
GEN
在if语句运行时具有值["M", "F"]
。这意味着GEN
与语句case不匹配,因此FN
从未定义您可能希望函数选择名字,以便在运行时传递所选的性别
其他人说变量
FN
没有定义,在if GEN == "M":
之前最好这样定义FN
:您可以定义以下内容:
因此,这两个
if/elif
语句都失败(因为["M","F"] != "M"
和["M","F"] != "F"
):因此,
FN
是未定义的相关问题 更多 >
编程相关推荐