缩进并不总是需要在While循环?



为什么这段代码可以工作?我认为我应该缩进循环中的所有内容,但如果我这样做,循环就会中断。相反,如果我不缩进,它工作。在我看来好像倒了。有人能解释一下这是怎么回事吗?

注:很明显我是个十足的新手。

#This works
def choose_team():

answer = ""

while not (answer == "X" or answer == "O"):
answer = input("Choose X eller O: ")

if answer == "X":
return("You are player 1")
if answer == "O":
return("You are player 2")
else:
return("Pick X or O ffs, moron")
#This DOES NOT WORK! 
def choose_team():

answer = ""

while not (answer == "X" or answer == "O"):
answer = input("Choose X eller O: ")
if answer == "X":
return("You are player 1")
if answer == "O":
return("You are player 2")
else:
return("Pick X or O ffs, moron")

我会尽力解释,但是我的英语不好,对不起!

  • 您需要知道的第一件事是,在本例中,当条件满足时while结束!= (answer == "X"或回答== "O"),
  • 在第一种情况下,它可以工作,当在结束循环时,您将进入if条件,但您不需要else,因为答案将是"X"或"O">
  • 当需要使用2个或更多条件时,应使用
if condition 1
elif condition 2
else

-第二件要知道的事情是,当你返回一个函数时,你停止了进程。然后,当您在函数中返回并验证答案时,while将自动停止。如:

def numbers(num):
print(1)
if num == 1:
return "end"
print(2)
if num == 2:
return "end"
print(3)
if num == 3:
return "end"
  • 第二个函数,也工作,但while是无用的,如果你写的函数没有while也是一样的。这是因为,不管答案是什么,你总是返回一些东西。

最新更新