这可能是一个容易解答的问题,但是我无法让这个简单的程序工作,这让我很疯狂.我有这段代码:
def Dat_Function():
my_var = raw_input("Type \"a\" or \"b\": ")
if my_var != "a" and my_var != "b":
print "You didn't type \"a\" or \"b\". Try again."
print " "
Dat_Function()
else:
print my_var, "-from Dat_Function"
return my_var
def main():
print Dat_Function(), "-From main()"
main()
现在,如果我输入“a”或“b”,一切都很好.输出为:
Type "a" or "b": a
a -from Dat_Function
a -From main()
但是,如果我输入其他内容,然后输入“a”或“b”,我就得到:
Type "a" or "b": purple
You didn't type "a" or "b". Try again.
Type "a" or "b": a
a -from Dat_Function
None -From main()
我不知道为什么Dat_Function()返回None,因为它应该只返回my_var. print语句显示my_var是正确的值,但该函数不会由于某种原因返回该值.