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 方法中的值或提前退出方法。