LINUX.ORG.RU

Где ошибка?

 ,


0

1

Есть код на питон. Выдает ошибку. Никак не пойму где ошибка?


current_hand = [2, 3, 4, 10, 'Q', 5]

# ваше решение ниже:
card = {'2':1,'3':1,'4':1,'5':1,'6':1,'7':0,'8':0,'9':0,'10':-1,'J':-1,'Q':-1,'K':-1,'A':-1}
cards_sum = sum([card[x] for x in current_hand])
print(cards_sum)


Ответ на: комментарий от Usruser

ещё как складываются

Ты конечно можешь задать операцию сложения для жопы и пальца, но на это отдельные усилия требуются.

yvv ★★☆
()
Ответ на: комментарий от yvv

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

anonymous
()
Ответ на: комментарий от Usruser

ну, как минимум, ментальные :)

anonymous
()
Ответ на: комментарий от Usruser

Зачем складывать char и int в контексте символов это ещё придумать надо.

А вот приводить к нижнему регистру символы вот так:

c = *i | 0x20;
и красиво, и полезно ) Тут, на ЛОРе научили анонимы с полгода назад )

Toxo2 ★★★
()
Ответ на: комментарий от Toxo2

более того - в ядре навалом такого кода + операции сдвига можно почти в каждом файле найти

anonymous
()
Ответ на: комментарий от Toxo2

и красиво, и полезно )

Некрасиво и вредно. Все-равно надо сначала проверять, что символ - буква, ну и логично же проверять, что это буква в верхнем регистре, чтоб не делать лишнюю проверку. А значит можно просто сделать += 32. Про то, что текст обычно Unicode, и говорить не стоит.

anonymous
()
Ответ на: комментарий от yvv

Char, хотя и формально является спец.типом для символов, часто используется как тип для малых целых. Собственно он и является 1-байтовым целым, куда обычно впихивают индекс символа в ASCII таблице.

Usruser
()
Ответ на: комментарий от BceM_IIpuBeT

Здесь --> Python.

У тебя здесь --> дезоксирибонуклеиновая кислота.

IPR ★★★★★
()
Ответ на: комментарий от BceM_IIpuBeT

что ты имеешь против питона?

anonymous
()
cards_sum = sum(card[str(x).upper()] for x in current_hand)
anonymous
()
Ответ на: комментарий от Usruser

Для этого в питоне есть int8 или uint8. Нет нужды извращаться.

yvv ★★☆
()
Ответ на: комментарий от yvv

преобразовать всё в один тип, или определить операцию сложения.

Си и плюсы делют такие тривиальные (из целого в целое) преобразования автоматически. Никаких дополнительных движений от программиста не требуется.

Usruser
()
Ответ на: комментарий от Usruser

Очевидно, что смысл результата зависит от контекста. Вне контекста и 2+3 не имеет никакого смысла.

Тогда все зависит от контекста.) и 2 + 2 = 5 в зависимости от контекста)

Короче, ты путаешь концепцию и реализацию. То что существуют кодировки это просто реализация, не более.

TDrive ★★★★★
()
Ответ на: комментарий от TDrive

Я ничего не путаю. Char это целочисленный тип, отличающийся от int лишь размерностью: на большинстве машин char – 1 байт.

Usruser
()
Ответ на: комментарий от Usruser

Ты уверен, что в треде об ошибке питона про сложение чисел со строками было уместно доказывать, что числа и строки можно складывать потому что так можно в С?)

TDrive ★★★★★
()
Ответ на: комментарий от Usruser

Не, ну складывать можно что угодно, был бы в этом какой-то смысл. И совсем не наезд, а вполне культурная дискуссия. Остынь, братела.

yvv ★★☆
()
Ответ на: комментарий от Usruser

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

kss ★★★★★
()
Ответ на: комментарий от BceM_IIpuBeT

Снова прокладки атакуют... Ну давай, расскажи как твой шарп или кресты мощные)))

noname_user ★★★
()
Ответ на: комментарий от Legioner

Ладно. Затюкали. Сдаюсь. )

Вот первоисточник: Задачка на самый быстрый подсчет встречаемости слов (комментарий) и там выше по комментариям. Не может быть, что тут все такие умные и ничего нового в той теме для себя не нашли. Красиво же люди решали. И с LUT тоже красиво.

Toxo2 ★★★
()
Ответ на: комментарий от Toxo2

Ну я к тому, что даже для английского операция uppercase подразумевает пропуск не-букв. А для не-английского этот алгоритм не сработает совсем. Поэтому штука может и прикольная, но чисто как концепт.

А тема интересная, жалко, что пропустил, на жаве бы потарахтел интереса ради, лол.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

А тема интересная, жалко, что пропустил, на жаве бы потарахтел

Тема не закрыта, ещё не поздно. Хотя, скорее всего, к тому времени, как твоя программа завершит выполнение, тему уже переместят в архив ахах

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.