Python 如何避免使用太多,如果其他?
这就是我试图用代码实现的概念。我希望用户能够在按下“0”时离开登录部分,下面的代码可以工作,但我是否可以缩短这些代码,因为我觉得如果使用其他代码,则会有太多的代码Python 如何避免使用太多,如果其他?,python,if-statement,Python,If Statement,这就是我试图用代码实现的概念。我希望用户能够在按下“0”时离开登录部分,下面的代码可以工作,但我是否可以缩短这些代码,因为我觉得如果使用其他代码,则会有太多的代码 def signup(): print("Press '0' to return mainpage") firstname = input("Please enter your first name : ") if firstname == "0"
def signup():
print("Press '0' to return mainpage")
firstname = input("Please enter your first name : ")
if firstname == "0":
print("Mainpage returned")
mainpage()
else:
lastname = input("Please enter your last name : ")
if lastname == "0":
print("Mainpage returned")
mainpage()
else:
username = firstname+lastname
print("Welcome", username)
def mainpage():
option = input("Press '1' to signup: ")
if option == '1':
print("Sign up page accessed")
signup()
mainpage()
您可以使用早期返回来删除一些嵌套
def signup():
print("Press '0' to return mainpage")
firstname = input("Please enter your first name : ")
if firstname == "0":
print("Mainpage returned")
mainpage()
return
lastname = input("Please enter your last name : ")
if lastname == "0":
print("Mainpage returned")
mainpage()
return
username = firstname+lastname
print("Welcome", username)
您可以使用早期返回来删除一些嵌套
def signup():
print("Press '0' to return mainpage")
firstname = input("Please enter your first name : ")
if firstname == "0":
print("Mainpage returned")
mainpage()
return
lastname = input("Please enter your last name : ")
if lastname == "0":
print("Mainpage returned")
mainpage()
return
username = firstname+lastname
print("Welcome", username)
首先,编写符合真实逻辑的代码。这种潜在的无限递归是不合适的。这是一个嵌套的过程,而不是固有的递归过程 当用户输入0时,您说要离开注册区域。如果是这样的话,那就离开吧——不要再进入另一个兔子洞:删除那些对主页的调用,然后正常返回。毕竟,主页是你的来源 至于使用较少的if语句,如果不对程序中的交互进行太多的泛化,就不能减少这么多。您要在两个位置检查0,在另一个位置检查1。这需要3个if检查或一个足够通用的流程,以便在给定合法移动列表的情况下进行所有转换。如果您需要,请查看如何实现有限状态机 然而,有一个简单的经济问题:您的用户界面过于冗长。只需立即询问全名:
def signup():
print("Press '0' to return mainpage")
username = input("Please enter your name : ")
if name == "0":
print("Mainpage returned")
else:
username.replace(' ', '') # remove space(s)
print("Welcome", username)
无论哪种方式,该例程都会自然返回主页。首先,编写符合您真实逻辑的代码。这种潜在的无限递归是不合适的。这是一个嵌套的过程,而不是固有的递归过程 当用户输入0时,您说要离开注册区域。如果是这样的话,那就离开吧——不要再进入另一个兔子洞:删除那些对主页的调用,然后正常返回。毕竟,主页是你的来源 至于使用较少的if语句,如果不对程序中的交互进行太多的泛化,就不能减少这么多。您要在两个位置检查0,在另一个位置检查1。这需要3个if检查或一个足够通用的流程,以便在给定合法移动列表的情况下进行所有转换。如果您需要,请查看如何实现有限状态机 然而,有一个简单的经济问题:您的用户界面过于冗长。只需立即询问全名:
def signup():
print("Press '0' to return mainpage")
username = input("Please enter your name : ")
if name == "0":
print("Mainpage returned")
else:
username.replace(' ', '') # remove space(s)
print("Welcome", username)
无论哪种方式,该例程都会自然返回到主页面