Я кодирую Python, чтобы создать игру GoFi sh, где вместо четырех человек вы ищете пары. Я написал код в python, чтобы найти пары в руке из 7 карт. Код дает список всех пар (так что это список списка). Поскольку я новичок в Python, мне интересно, есть ли более эффективный способ добиться того, что делает мой код.
Вот код, который я написал. В конце концов, он станет функцией внутри класса.
#hand = ['D2', 'S1', 'D3', 'H1', 'C1', 'H5', 'D5']
#hand = ['D1', 'S1', 'S2', 'H2', 'C1', 'H5', 'D5']
#hand = ['D1', 'S1', 'S2', 'H1', 'C1', 'H5', 'D5']
hand = ['D1', 'S1', 'C1', 'H1', 'C2', 'H2', 'D5']
#hand = ['D2', 'S1', 'C3', 'H4', 'C5', 'H6', 'D7']
list_of_pairs = []
i=0
while i < len(hand):
current_pos = i
for k in range(i+1, len(hand)):
card_1 = hand[i]
card_2 = hand[k]
if card_1[-1:] == card_2[-1:]:
pair_2 = hand.pop(k)
pair_1 = hand.pop(i)
pair = [pair_1, pair_2]
list_of_pairs.append(pair)
i = current_pos - 1
break
i +=1
print(f"List of pairs is {list_of_pairs}")
print(f"Left over hand is {hand}")