为什么这个函数不打印它应该打印的内容
why won't this function print what it's supposed to
def straightCheck(playerHand):
playerHand.sort()
print(playerHand)
for i in range(len(playerHand)-1):
if playerHand[i] != playerHand [i+1] - 1:
handstrength = 0
return False
break
else:
handstrength = 5
return True
print(handstrength)
x = [5,2,3,4,1]
straightCheck(x)
我是编程新手,还没有掌握 return
命令。这个函数在没有 returns 的情况下也能正常工作,但是一旦我把它们放进去,playerHand
将继续打印,但 handstrength
不会。
试试这个:
def straightCheck(playerHand):
playerHand.sort()
print(playerHand)
for i in range(len(playerHand)-1):
if playerHand[i] != playerHand[i+1] - 1:
handstrength = 0
print(handstrength)
return False
handstrength = 5
print(handstrength)
return True
一条return
指令终止一个函数的执行,这意味着之后的代码将永远不会执行。因此,如果您需要打印一些东西,请在返回之前打印。此外,break
是不必要的,因为 return
不仅会退出循环,还会退出整个函数。
不过,潜伏着一个更严重的错误。请注意,只有在检查失败时才应退出函数,否则必须继续循环。我们将确保手牌仅在 在 我们退出循环后才有效,因此该部分逻辑必须 在 循环之外。
def straightCheck(playerHand):
playerHand.sort()
print(playerHand)
for i in range(len(playerHand)-1):
if playerHand[i] != playerHand [i+1] - 1:
handstrength = 0
return False
break
else:
handstrength = 5
return True
print(handstrength)
x = [5,2,3,4,1]
straightCheck(x)
我是编程新手,还没有掌握 return
命令。这个函数在没有 returns 的情况下也能正常工作,但是一旦我把它们放进去,playerHand
将继续打印,但 handstrength
不会。
试试这个:
def straightCheck(playerHand):
playerHand.sort()
print(playerHand)
for i in range(len(playerHand)-1):
if playerHand[i] != playerHand[i+1] - 1:
handstrength = 0
print(handstrength)
return False
handstrength = 5
print(handstrength)
return True
一条return
指令终止一个函数的执行,这意味着之后的代码将永远不会执行。因此,如果您需要打印一些东西,请在返回之前打印。此外,break
是不必要的,因为 return
不仅会退出循环,还会退出整个函数。
不过,潜伏着一个更严重的错误。请注意,只有在检查失败时才应退出函数,否则必须继续循环。我们将确保手牌仅在 在 我们退出循环后才有效,因此该部分逻辑必须 在 循环之外。