我一直在制作一个扑克模拟器,并且设法制作了一个函数,该函数可以识别具有连续数字的数组。
def straightCheck(playerHand):
playerHand.sort()
print(playerHand)
for i in range(len(playerHand)-1):
if playerHand[i] != playerHand [i+1] - 1:
return False
print(handstrength)
return True
print(handstrength)
唯一的问题是,当数组的长度大于5时,我希望函数识别数组中的5个连续数字。例如:我希望数组
[1,2,3,4,5,6,7]
返回True,但我也希望数组[1,3,4,5,6,7,9]
返回True。 最佳答案
您过早返回False。取而代之的是,您可以保持到目前为止所看到的连续数字的数量,并在遇到破坏连胜的数字时将其重置。
def straightCheck(playerHand):
playerHand.sort()
tally = 1
for i in range(len(playerHand)-1):
if playerHand[i] != playerHand [i+1] - 1:
tally = 0
tally += 1
if tally >= 5:
return True
return False
关于python - 如何识别数组中只有一定数量的数字是连续的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33203500/