如何在测试失败后将函数分解到特定位置


def joe():
while True:
name = ""
answer = ""
print("What is your name? ")
name = input()
if name != "Joe":
continue
print("What is your password? (it is a fish) ")
answer = input()
if answer == "swordfish":
break
print("nice job, Joe")

joe()

如果我通过第一个语句并键入";乔;我继续这个功能,一切都很好。但如果我第二次测试失败,我就中断该功能并返回到";你叫什么名字"功能的一部分。我怎么能写一个测试,一旦失败,就会把我带回";你的密码是什么;?而不是名称测试?

或尝试以下操作:

def joe():    
name = ""
answer = ""
print("What is your name? ")
name = input()
if name == "Joe":
print("What is your password? (it is a fish) ")
answer = input()
if answer == "swordfish":
return print("nice job, Joe")

joe()
joe()

试着使用while True和`return语句的组合,兄弟!

def joe():
while True:
print("What is your name? ")
name = input()
if name != "Joe":
continue
while True:
print("What is your password? (it is a fish) ")
answer = input()
if answer == "swordfish":
print("nice job, Joe")
return

joe()

为密码部分添加另一个while循环。

def joe():
while True:
print("What is your name? ")
name = input()
if name == "Joe":
break
while True:
print("What is your password? (it is a fish) ")
answer = input()
if answer == "swordfish":
break
print("nice job, Joe")

最新更新