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")