Подводя итог: Как я могу печатать Unicode-систему независимо, чтобы производить символы игровых карт?
Что я делаю неправильно, я считаю себя достаточно свободно в Python, за исключением того, что я не могупечатайте правильно!
# coding: utf-8
from __future__ import print_function
from __future__ import unicode_literals
import sys
symbols = ('♥','♦','♠','♣')
# red suits to sdterr for IDLE
print(' '.join(symbols[:2]), file=sys.stderr)
print(' '.join(symbols[2:]))
sys.stdout.write(symbols) # also correct in IDLE
print(' '.join(symbols))
Печать на консоль, которая является основным условием для консольного приложения, с треском проваливается, хотя:Вы используете не консоль, а IDLE.
Конечно, я могу генерировать символы самостоятельно, создавая их с помощью chr:
# correct symbols for cp850
print(''.join(chr(n) for n in range(3,3+4)))
Но это выглядит очень глупо.И я не заставляю программы работать только в Windows или во многих особых случаях (например, условная компиляция).Мне нужен читаемый код.
Я не против, какие буквы он выводит, если он выглядит правильно, независимо от того, является ли это телефоном Nokia, Windows или Linux. Юникод должен это делать, но он не печатается правильно в Консоль