我正在撰寫一個撲克專案,并且剛剛撰寫了一個函式來根據獲勝者(賽前)來規定莊家、小盲注和大盲注。該代碼有效,但看起來不像pythonic:
players = {1:'Jose',2:'Sam',3:'John',4:'Victor'}
## Each player receives a card, John gets an Ace and wins the dealer spot
winner = 'John'
for num in players:
if players[num] == winner:
dealer = num
if len(players) == 2:
if num 1 <= len(players):
small_blind = num 1
else:
small_blind = 1
elif len(players) >= 3:
if num 1 <=len(players):
small_blind = num 1
if num 2 <= len(players):
big_blind = num 2
else:
big_blind = 1
else:
small_blind = 1
big_blind = 2
print(f'{players[dealer]} will be dealing cards')
print(f'{players[small_blind]} will be small blind')
print(f'{players[big_blind]} will be big blind')
從指定索引開始回圈遍歷整個串列的最有效方法是什么?
uj5u.com熱心網友回復:
您可以直接使用索引(串列的 mod 長度):
players = ['Jose', 'Sam', 'John', 'Victor']
winner = 'John'
dealer = players.index(winner)
small_blind = (dealer 1)%len(players)
big_blind = (dealer 2)%len(players)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/430309.html
