【发布时间】:2016-11-09 15:12:59
【问题描述】:
我刚开始学习Python,我正在尝试编写一个函数,其中将要求用户输入j/J/ja or Ja for True 和n/N/nein or Nein for False。
代码如下:
def ask_ok(prompt, retries=4, complaint="Ja oder Nein!", abc):
while True:
ok = input(prompt)
if ok in ('j', 'J', 'ja', 'Ja'): abc = True
if ok in ('n', 'N', 'nein', 'Nein'): abc = False
retries = retries - 1
if abc is True:
print ("Its True")
return True
elif abc is False:
print("Its False")
return False
elif retries < 0:
raise IOError('Keine Fags erlaubt!')
print(complaint)
ask_ok("Willst du wirklich aufhören?\n")
PyCharm 显示错误:
line 1
def ask_ok(prompt, retries=4, complaint="Ja oder Nein!", abc):
^
SyntaxError: non-default argument follows default argument
希望得到您的帮助。
【问题讨论】:
-
abc必须有默认值或位于retries之前 -
这个错误是不言自明的。在几个默认参数(
retries、complaint)之后,您有一个非默认参数(abc)。这在 Python 中是不允许的。 -
谢谢,我的问题解决了
标签: python-3.x