我的代码是:
highpri = yesno_prompt(
["1"], "Flag this message/s as high priority? [yes|no]")
if not "YES" in highpri:
prioflag1 = ""
prioflag2 = ""
else:
prioflag1 = ' 1 (Highest)'
prioflag2 = ' High'
但是当我运行它时,我得到了:
Traceback (most recent call last):
File "mailerproj.py", line 138, in <module>
highpri = yesno_prompt(
NameError: name 'yesno_prompt' is not defined
所以我试过了:
highpri = input(
但它给出了这个问题:
Traceback (most recent call last):
File "mailerproj.py", line 139, in <module>
["1"], "Flag this message/s as high priority? [yes|no]")
TypeError: [raw_]input expected at most 1 arguments, got 2
所以在这种情况下,输入最好但结构错误或者是/否提示正确但结构错误?
答案 0 :(得分:0)
此代码显示了对{3}在{3}}中如何工作的基本误解。
首先,Python 3中的input()
函数相当于Python 2中的input()
。您的错误表明您使用的是Python 2。
让我们阅读您收到的错误消息:
我们知道错误在哪一行:
raw_input()
它向我们展示了这一行:
File "mailerproj.py", line 139, in <module>
然后它解释了这个问题:
["1"], "Flag this message/s as high priority? [yes|no]")
这意味着您已经给出了TypeError: [raw_]input expected at most 1 arguments, got 2
错误的参数 - 您已经给了它两个input()
和["1"]
,并且它需要一个。
以下是"Flag this message/s as high priority? [yes|no]"
上的python帮助:
模块内置:
中内置函数raw_input的帮助raw_input
所以你需要给它一个参数作为输入。这可以是字符串(例如raw_input(...)
raw_input([prompt]) -> string
Read a string from standard input. The trailing newline is stripped. If the
user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError. On Unix,
GNU readline is used if enabled. The prompt string, if given, is printed
without a trailing newline before reading.
)整数(例如"Hello"
),浮点数(例如125
),列表,元组,布尔值等。它将一个字符串返回到变量中。
您需要看起来更像这样的代码:
3.14