if和else语句有问题。
我写了以下脚本:
def questionscp():
stateanswer = raw_input('Do you want to change device state? (y/n): ')
if stateanswer == 'y':
choosestate = raw_input('Choose Device State(0=Hibernate, 1=Power Save, 2=Safe Mode, 3=Operating Mode, 4=Diagnostic Mode, 5=Remote Power Off): ')
client.write_register(64, choosestate, 70)
else:
return
activewarningflag = raw_input('Activate warning flag?? (y/n): ')
if activewarningflag == 'y':
client.write_register(67, 1, 70)
else:
return
问题在于我希望脚本会在第一个问题之后询问第二个问题(activewarningflag),即使选择了'n',但是在else语句中我放“return”因为我是新手来做这个并且不要知道了很多。如果我希望函数继续自我读取,我可以写什么而不是“返回”?
感谢
答案 0 :(得分:5)
您可以将pass
放在
else:
pass
这将使解释器忽略您的else
子句。
或者
你可以完全忽略 else
,因为Python语义允许if
语句没有else
子句
答案 1 :(得分:2)
您根本不需要else语句
if stateanswer == 'y':
choosestate = raw_input('...')
client.write_register(64, choosestate, 70)
activewarningflag = raw_input('Activate warning flag?? (y/n): ')
你可以把它放在外面,它将继续照常进行。
您甚至可能不需要返回(取决于您的方法的作用)。通常,返回通常是从方法返回值或提前退出方法。