python 中的简单 if/else 误用
simple if/else misusage in python
我对 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" 因为我做这件事的新手,还不太了解。如果我想让函数继续读取自己,我可以写什么来代替 "return"?
谢谢
你可以把pass
写成
else:
pass
这将使解释器忽略您的 else
子句。
或
你可以忽略 else
,因为Python语义允许if
语句没有else
子句
你根本不需要 else 语句
if stateanswer == 'y':
choosestate = raw_input('...')
client.write_register(64, choosestate, 70)
activewarningflag = raw_input('Activate warning flag?? (y/n): ')
您可以忽略它,它将照常进行。
您甚至可能不需要 return(取决于您的方法)。返回通常是 return 方法中的值或提前退出方法。
我对 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" 因为我做这件事的新手,还不太了解。如果我想让函数继续读取自己,我可以写什么来代替 "return"?
谢谢
你可以把pass
写成
else:
pass
这将使解释器忽略您的 else
子句。
或
你可以忽略 else
,因为Python语义允许if
语句没有else
子句
你根本不需要 else 语句
if stateanswer == 'y':
choosestate = raw_input('...')
client.write_register(64, choosestate, 70)
activewarningflag = raw_input('Activate warning flag?? (y/n): ')
您可以忽略它,它将照常进行。
您甚至可能不需要 return(取决于您的方法)。返回通常是 return 方法中的值或提前退出方法。