Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 名称错误:名称'';没有定义_Python_Nameerror - Fatal编程技术网

Python 名称错误:名称'';没有定义

Python 名称错误:名称'';没有定义,python,nameerror,Python,Nameerror,我正在尝试用Python编写一个脚本,它将使西班牙语动词变位。这是我第一次使用Python编写脚本,所以这可能是一个简单的错误。当我运行脚本时,我输入“yo tener”并收到一个错误: 回溯(最近一次调用):文件“”,第13行,在文件“”中, 第1行,在NameError中:未定义名称“yo” 更多信息,请访问: 使用该函数时,将其参数作为Python语句进行计算。我不认为那是你想做的 如果您试图将代词放入共轭形式变量,将动词放入不定式动词变量,只需使用: conjugateForm, i

我正在尝试用Python编写一个脚本,它将使西班牙语动词变位。这是我第一次使用Python编写脚本,所以这可能是一个简单的错误。当我运行脚本时,我输入“yo tener”并收到一个错误:

回溯(最近一次调用):文件“”,第13行,在文件“”中, 第1行,在NameError中:未定义名称“yo”

  • 更多信息,请访问:

使用该函数时,将其参数作为Python语句进行计算。我不认为那是你想做的

如果您试图将代词放入
共轭形式
变量,将动词放入
不定式动词
变量,只需使用:

conjugateForm, infinitiveVerb = text.split()

默认情况下,
split()
在空白处拆分,因此不需要使用
'

允许用户访问程序内部的更好方法是将键存储为字符串。那么您根本不需要
eval

pronouns = { "yo": 0, "nosotros": 1, "tu"; 2, "el": 3, "ella": 3, "usted": 3 }
同样地

verbs = { "tener": [ "tengo", "tenemos", ... ],
    "ser": [ "soy", "somos", ... ],
    ... }
现在,您可以使用用户的输入作为两个字典的键


(我不知道西班牙语是否有单独的传统,但通常的做法是先列出单数形式,然后列出复数形式,包括第一人称、第二人称和第三人称。您似乎缺少第二人称和第三人称复数。)

此外,
eval
也存在安全风险。考虑一下如果用户键入<代码>操作系统('/home /HACK.SH)作为程序的输入会发生什么。
verbs = { "tener": [ "tengo", "tenemos", ... ],
    "ser": [ "soy", "somos", ... ],
    ... }