Код: Выделить всё
import random
# The card pool
cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
# I created a list for the players cards bc that was the cleanest solution
players_cards = []
card_value = random.choice(cards)
sum = 0
def add(n1, n2):
totals = n1 + n2
return totals
# I thought a function with a for loop in it to collect the players sum total of cards was the cleanest solution
def player_total():
for i in players_cards:
sum += i
dictionary = {
'total': player_total
}
should_continue = True
players_cards.append(card_value)
adding_players_total = dictionary['total']
# This is the while loop needed for the player to 'HIT' so to speak before passing the computer
while should_continue == True:
players_cards.append(card_value)
print(f"Your cards are {players_cards}, current score: {adding_players_total}")
print(f"The computer's first card is: {card_value}")
players_choices = input("Type 'y' for another card, or 'n' to pass: ").lower()
if players_choices == 'y':
should_continue == True
else:
break
Первая проблема, с которой я борюсь, и я просто не понимаю, как решить - это ГПСЧ. Насколько я понимаю, PRNG основан на системном времени, но если нужно вызвать random.choice несколько раз, например, в таком цикле, как в этом случае, он вернет одно и то же значение, что и делает. Я понятия не имею, как это решить. Я читал что-то о rand.seed, но это противоречит тому, чего я хочу. Это гарантирует, что PRNG будет генерировать одно и то же значение каждый раз.
Вторая проблема заключается в этой строке: {adding_players_total}"), расположенной в цикле while. Кажется, я не могу получить Я хотел создать цикл For, который будет перебирать список или «карты» игроков в руке. Я думал, что это будет чистое и элегантное решение для подсчета общей стоимости игральных карт, которые играют. Однако я не мог понять, как его правильно вызвать в программе, поэтому начал отчаиваться и пробовать такие вещи, как словарь, и теперь я действительно заблудился.
Подробнее здесь: https://stackoverflow.com/questions/791 ... m-choice-i
Мобильная версия