Я не знаю, как работает код сейчас, потому что вы не показали нам код для numpair()
, detset()
и quads()
.
Однако, работая с чистого листа,вот как бы я это сделал:
# assume rank values are numeric 2-10, J=11, Q=12, K=13, A=14
# iterate over each rank 2 thru 10
for rank in range(2, 11):
# if rank+0, rank+1, rank+2, rank+3, and rank+4 are all present, we have a straight
if all(rank+n in vset for n in range(0,5)):
print 'we have a straight'
break
# if we never broke out of the loop, we never found a straight
else:
print 'we do not have a straight'