我看到这个Flowchart,决定用它做一个程序。问题是,如果我第一次输入“no”,它只返回“gooutside”。所有其他返回“无”。我正在使用Python 2.7
def waitawhile():
print "Wait a while"
rain2 = raw_input("Is it still raining?")
if rain2.lower() == "no":
return "Go Outside"
elif rain2.lower() == "yes":
waitawhile()
def Raining():
print "Is it raining?"
rain = raw_input()
if rain.lower() == "no":
return "Go Outside"
elif rain.lower() == "yes":
print "Have Umbrella?"
umbrella = raw_input()
if umbrella.lower == "yes":
return "Go Outside"
elif umbrella.lower() == "no":
waitawhile()
print Raining()
问题在于对
waitawhile
的调用(从Raining
和从waitawhile
本身)。调用它之后,您将丢弃返回值而不返回任何内容。要解决此问题,请将呼叫从:收件人:
确保对于这两个函数,如果不执行
return
语句,就无法到达函数的结尾您的程序有三个问题,以下是已修复的问题:
工作原理如下:
程序中的问题是逻辑错误,因此解释器不会向您显示语法错误:
.lower
而不是.lower()
,并且它总是false李>waitawhile()
方法的返回,而必须将它们返回给print
方法李>相关问题 更多 >
编程相关推荐