尝试拨打' dialogue_b1_a()'在名为dialog_b1()的函数中使用输入函数。当我正常调用dialog_b1()时,提示符有效,但是在我输入begin之后,它只是说使用退出代码0'执行'进程,而不是在continue_b1 == begin时调用我输入的函数。我究竟做错了什么?谢谢。
def dialogue_b1():
begin = 0
print("You identify as a male.")
print("...")
continue_b1 = input('Type "begin" to continue.')
if continue_b1 == begin:
dialogue_b1_a()
return
答案 0 :(得分:1)
这里有问题。您错误地输入了问题中的代码,或者您应用了错误的标签“Python 2.7”。当我复制您发布的代码并在提示符下键入begin
时,确实会尝试调用dialogue_b1_a()
。
永远不要在Python 2.7中使用input()
,始终使用raw_input()
。
当您在响应begin
调用时键入input()
时,Python 2.7会评估您键入的内容作为表达式。这就是为什么你需要函数顶部的begin=0
。
另一方面,如果您在Python 3.x下运行此代码,则begin
只需从"begin"
调用返回字符串input()
,条件就不匹配。在这种情况下,条件永远不会匹配,因为Python 3 input()
将始终返回一个字符串。
修正了Python 2.7的代码:
def dialogue_b1():
print("You identify as a male.")
print("...")
continue_b1 = raw_input('Type "begin" to continue.')
if continue_b1 == "begin":
dialogue_b1_a()
return
或Python 3:
def dialogue_b1():
print("You identify as a male.")
print("...")
continue_b1 = input('Type "begin" to continue.')
if continue_b1 == "begin":
dialogue_b1_a()
return
答案 1 :(得分:0)
因此,您只需要将User
更改为字符串:
INotifyPropertyChanged