python - 函数内部的 Python 变量无法调用
问题描述
我正在用 python 制作一个 rpg 类型的东西,我制作了一些函数,但我需要调用在单独的函数中声明和更改的变量。我如何能够在函数中调用变量。我的代码:
import time
def title():
print("Hello Welcome To Elvoria")
time.sleep(1)
print("Choose Your Gender, Name, And Race")
time.sleep(1)
def gnd():
Gender = input("""Male, Female, Or NonBinary?
""")
if Gender == ("Male"):
genderin = 'Male'
elif Gender == ("Female"):
genderin = 'Male'
elif Gender == ("NonBinary"):
genderin = 'Male'
else:
gnd()
def nm():
namein = input("""What Is Your Character's Name?
""")
print("Welcome To Elvoria "+namein+"")
def rac():
print("""The Race Options Are:
Elf-Good With Archery And Light Armor
Kelner-Good With Two Handed Weapons And Heavy Armor
Human-Good With Bows And Stealth
Mageine-Good With Magic And Speed""")
time.sleep(1)
racin = input("""Now Choose A Race
""")
if racin == ("Elf"):
print ("You Are Now A " + genderin + racin +" Named" + namein + "")
elif racin == ("Kelner"):
print ("You Are Now A " + genderin + racin +" Named" + namein + "")
elif racin == ("Human"):
print ("You Are Now A " + genderin + racin +" Named" + namein + "")
elif racin == ("Magein"):
print ("You Are Now A " + genderin + racin +" Named" + namein + "")
else:
print ("You Are Now A " + genderin + racin +" Named" + namein + "")
title()
time.sleep(1)
gnd()
time.sleep(1)
nm()
time.sleep(1)
rac()
和错误代码:
print ("You Are Now A " + genderin + racin +" Named" + namein + "")
NameError: name 'genderin' is not defined
解决方案
您有 2 个选项:
您可以创建一个全局变量,并在函数中使用 global 语句定义它,这样您就可以在之后使用全局值
您可以将值传递给函数并使用它(更好的方法,应避免使用全局变量)
推荐阅读
- javascript - ReferenceError:使用“+=”时分配中的左侧无效
- firebase - Firestore 云功能:POST 请求的问题
- python - Webots R2019a 修订版 1 在 Python API 中崩溃
- nativescript - 如何更改搜索栏的颜色
- jenkins - 詹金斯主机密钥验证失败
- matlab - 使用 API 从维基百科读取数据
- apache-nifi - 在 NiFi 中使用 PutIgniteCache 处理器时出现 InvalidClassException
- java - Visual Studio Code 不提供 java 插件的语言支持的 java 导入建议
- nginx - xxxx 无法解析(110:操作超时)
- ruby-on-rails - 猴子修补 ActiveRecord "where" 方法