python - 由函数分配的某些变量未在 python 脚本中分配
问题描述
我正在研究角色概念的程序生成。作为其中的一部分,我设置了变量来更改文本中的代词,以便它们对于生成的字符是正确的。但是,由于某种原因,我的代码拒绝为此分配变量,导致输出类似于“Bob 是高加索人。工作方式...”它应该显示为“Bob 是白人男性。他工作方式...”
代词或男性或女性一词应在的任何地方,它都不会打印任何内容。不安慰,也不归档。当我将整个脚本剥离为仅调用函数运行的代码和函数本身时,它仍然不会分配变量。
其他使用函数分配变量的系统可以 100% 正常工作。
我已经重写了 3 次新函数来尝试不同的方法。我已经尝试使变量成为全局变量。我不知道还能尝试什么。
这是功能。
def pronouns(sex1):
pronoun1, pronoun1alternate, pronoun2, pronoun2alternate = "", "", "", ""
if sex1 == "male":
pronoun1 = "He"
pronoun1alternate = "he"
pronoun2 = "His"
pronoun2alternate = "his"
elif sex1 == "female":
pronoun1 = "She"
pronoun1alternate = "she"
pronoun2 = "Her"
pronoun2alternate = "her"
return pronoun1, pronoun1alternate, pronoun2, pronoun2alternate
变量 sex1 是在很久以后创建的,并且无法在此函数中创建,因为我可能希望稍后扩展该程序以用于幻想和科幻角色概念,并决定处理每个种族的性别选择以防万一将来会像 Species-8472 这样的东西。
这是稍后调用该函数的方式。
p1, p1a, p2, p2a = pronouns(sex1)
我被告知 python 传递值但不传递名称。当函数输出 p1 p1a 等时它也不起作用。有人告诉我以相同的顺序使用不同的名称可能会解决问题。它没。
在这里他应该如何使用变量。
description = name + " is a " + race + " " + sex + ". " + p1 + " has " + eyes + " eyes. " + colorapp
填写姓名、种族、眼睛颜色和 colorapp 变量没有问题,但无论我做什么,都不能填写性别或任何代词值。
单独运行此代码时不会出现错误消息。如果要求仅打印代词或性别,它将打印空白行。但是,sex1 将成功打印,程序中几乎所有其他变量也一样。
解决方案
你如何为变量 sex1 赋值?确保它以小写形式传递。如果这是问题所在,您可以在函数的第 3 行和第 8 行使用 sex1.lower()。
推荐阅读
- javascript - 当 API 的项目数量有限时 Vue 过滤 JSON 对象
- react-redux - react-redux 将参数传递给兄弟组件
- javascript - 在onclick中获取动态添加元素的id
- android - 干净的架构登录流程
- android - 如何在 web 视图中启用受保护的内容?
- go - 为什么我得到一个引用接口的空变量?
- android - 我在列表视图中有一个复选框,我想知道它是否被选中
- android - Android Fountain Library - 类型推断失败:无法在 fun createNetworkWithCacheSupportListing 中推断类型参数 NetworkValue
- javascript - 如何显示图库 blueimp-gallery 的附加属性?
- python - 无法在 Anaconda 中激活 Jupyter 内核