170 похожих чатов

Def deal_card(): cards = [11, 2, 3,

4, 5, 6, 7, 8, 9, 10, 10, 10, 10]
card = random.choice(cards)
return card

def calculate_score(cards):
if sum(cards) == 21 and len(cards) ==2:
return 0

Делаю игру Блэк Джек по примеру.
Если 21 это выигрыш, то почему return 0(False)? Должен же быть return 1(True)?

32 ответов

19 просмотров

Вопрос к автору кода, видимо

Juninho- Автор вопроса

Есть предположения?)

Juninho
Есть предположения?)

А там других условий нету

Juninho
Есть предположения?)

Покажи полный код. По этому не понятно, что происходит

Juninho- Автор вопроса
Ilya Samsonov
Покажи полный код. По этому не понятно, что происх...

import random def deal_card(): cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10] card = random.choice(cards) return card def calculate_score(cards): """Take a list of cards und return the score calculated from the cards """ if sum(cards) == 21 and len(cards) ==2: return 0 # Return True (1) and False (0) and can be checked with a conditional statement. if 11 in cards and sum(cards) > 21: cards.remove(11) cards.append(1) return sum(cards) def compare(user_score, computer_score): if user_score == computer_score: return "Draw" elif computer_score ==0: return "Lose, opponent has Blackjack" elif user_score == 0: return "Win with a Blackjack" elif user_score > 21: return "You went over. You lose" elif computer_score >21: return "Opponent went over. You win" elif user_score > computer_score: return "You win" else: return "You lose" def play_game(): user_cards = [] computer_cards = [] is_game_over = False for _ in range(2): #for_ in- we don't care about the iterator value, just that it should run some specific number of times user_cards.append(deal_card()) computer_cards.append(deal_card()) while not is_game_over: user_score = calculate_score(user_cards) computer_score = calculate_score(computer_cards) print(f"Your cards: {user_cards}, current score: {user_score}") print(f"Computer's first card: {computer_cards[0]}") if user_score == 0 or computer_score == 0 or user_score >21: is_game_over = True else: user_should_deal = input("Type 'y' to get another card, type 'n' to pass: ") if user_should_deal == "y": user_cards.append(deal_card()) else: is_game_over = True while computer_score != 0 and computer_score < 17: computer_cards.append(deal_card()) computer_score = calculate_score(computer_cards) print(f" Your final hand: {user_cards}, final score:{user_score}") print(f"Computer's final hand: {computer_cards}, final score: {computer_score}") print(compare(user_score,computer_score)) while input("Do you want to play a game of Blackjack? Type 'y' or 'n': ") == "y": play_game()

Juninho
import random def deal_card(): cards = [11, 2...

Залей на pastebin, пожалуйста

Juninho- Автор вопроса
Juninho
https://pastebin.com/9z5zzKfq

Неплохо бы правила приложить

Juninho- Автор вопроса

Если сумма 21 то выигрыш

Ты откуда код взял?

Juninho- Автор вопроса
Juninho
Интернет

Ну отлично, мы должны угадать теперь правила игры по коду, который может быть с ошибками?

Juninho- Автор вопроса
Tishka17
Ну отлично, мы должны угадать теперь правила игры ...

Правила простые и я думаю все знают эту игру.

Juninho
Если сумма 21 то выигрыш

В Википедии есть такая оговорка в правилах. Видимо она и проверяется в каком-то варианте. Но так как ты правила игры, которую программируешь, не знаешь, то смысла обсуждать не вижу. Код из интернета может реализовывать любой из миллион вариаций правил

Juninho- Автор вопроса
Tishka17
screenshot В Википедии есть такая оговорка в правилах. Видимо...

Мне кажется это ты не знаешь, если спрашиваешь, что за игра блекджэк

Juninho
Мне кажется это ты не знаешь, если спрашиваешь, чт...

Я не спрашивал что за игра. Я спрашивал точную формулировку правил. Компьютер работает по четким правилам, это тебе не футбол во дворе гонять, когда гол засчитывается из соображений чей мяч и кто кому воды вынес.

Tishka17
Я не спрашивал что за игра. Я спрашивал точную фор...

выигрывает мать которая быстрее скинет мяч

Juninho- Автор вопроса
Tishka17
Я не спрашивал что за игра. Я спрашивал точную фор...

Ну если ты знал эту игру, ты бы не спрашивал правила.

Juninho- Автор вопроса
Juninho
Ну если ты знал эту игру, ты бы не спрашивал прави...

Даже во дворе знают эту игру и девочки тоже

Juninho
Даже во дворе знают эту игру и девочки тоже

Вот только в каждом дворе играют немного по своему. Я буквально тебе только что показал, что в одном из вариантов правил есть оговорка, которую ты не учитывал в своих рассуждениях

Juninho
Ну если ты знал эту игру, ты бы не спрашивал прави...

речь была про том, что в таких ситуациях правила могут меняться в зависимости от подкованности игроков и приложить к коду правила, по которым он работает не самая плохая идея. ведь например те кто плохо знают правила могут ожидать от кода чего-то другого

Juninho- Автор вопроса
Nickelodeona K
речь была про том, что в таких ситуациях правила м...

Я выше написал, что код правильный и работает корректно.

Nickelodeona K
речь была про том, что в таких ситуациях правила м...

Да не только подкованности. Есть разные варианты игры, даже среди популярных

Juninho- Автор вопроса
Juninho
В этой игре нет других правил

Ты видимо в моем дворе не был

Роман
опять про мать, успокойся женщина

куда от вас сбежать то, кошмар!

Juninho
Я выше написал, что код правильный и работает корр...

Ты можешь очень долго спорить и игнорировать мысль, которую я пытаюсь донести (мысль о том, что точные формулировки важны). Это конечно же поможет тебе в освоении программирования (нет)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта