• Python БЕЗНОГNM #!/usr/bin/env python3
    """B ЛЮБOM ДOME 3MEЮ HANДN TPETЬЮ
    CЛOBA EN HA3OBN MAГNЧECKNE"""
    from \
    sys \
    import \
    stdin, \
    argv
    БE3YMHЫE_OHA_ПOKAЖET_3HAKN = {
    "А": "A",
    "В":"B", "Е":"E",
    "З":"3","И":"N",
    "Й":"N", "К":"K",
    "М":"M","Н":"H","О":"O",
    "Р":"P","С":"C","Т":"T","У":"Y",
    "Х":"X","Ш":
    "W","Я":
    "R"
    } # CONДEWЬ C YMA ПPOЧTR
    БE3HOГNM = lambda ATNC: БE3YMHЫE_OHA_ПOKAЖET_3HAKN.get(ATNC, ATNC)
    YBNДNWЬ_YЖAC_N = open(argv[1]) if len(argv)-1 else stdin
    # БEГN ПOKA БE3HOГNM
    print(''.join(map(БE3HOГNM,
    # HE CЛYWAN CЛOBA MAГNЧECKNE
    YBNДNWЬ_YЖAC_N.read().upper())))
    # БEГN OT TEKCTA CTPAWHOГO

Replies (12)

  • @Stiletto, умвр
  • @Stiletto, Может третий пайтон не стоит?
  • @Stiletto, File "БE3HOГNM.py", line 2
    SyntaxError: Non-ASCII character '\xd0' in file БE3HOГNM.py on line 2, but no encoding declared; see python.org for details

    PHAIL
  • @unstoppable2, а, ок, всё работает. Запускал вторым ПNTOHOM
  • @Stiletto, нашел БУГ: ^D надо тыкать дважды при чтении из стдина.
  • @lexszero, это не буг, это стандартное поведение терминала.
    EOF после return — ^D
    EOF в середине строки — ^D^D
  • @unstoppable2, не-а, даже после ретёрна.
  • @lexszero, хм, и вправду.
  • @lexszero, на bugs.python.org ОВЕРДОХУЯ репортов об этом БАГЕ, ок.
  • @lexszero, посоны, есть ВОРКЭРАУНД.

    --- БE3HOГNM.py 2010-12-30 22:30:33.000000000 +0200
    +++ БE3HOГNM.py.old 2010-12-30 22:30:30.000000000 +0200
    @@ -20,7 +20,7 @@
    БE3HOГNM = lambda ATNC: БE3YMHЫE_OHA_ПOKAЖET_3HAKN.get(ATNC, ATNC)
    YBNДNWЬ_YЖAC_N = open(argv[1]) if len(argv)-1 else stdin
    # БEГN ПOKA БE3HOГNM
    -print(''.join(map(БE3HOГNM, str.join("",
    +print(''.join(map(БE3HOГNM,
    # HE CЛYWAN CЛOBA MAГNЧECKNE
    -YBNДNWЬ_YЖAC_N.readlines()).upper())))
    +YBNДNWЬ_YЖAC_N.read().upper())))
    # БEГN OT TEKCTA CTPAWHOГO
  • @unstoppable2, бля, я криворукое мудило.
    В другую сторону патч,

    --- БE3HOГNM.py.old 2010-12-30 22:30:30.000000000 +0200
    +++ БE3HOГNM.py 2010-12-30 22:30:33.000000000 +0200
    @@ -20,7 +20,7 @@
    БE3HOГNM = lambda ATNC: БE3YMHЫE_OHA_ПOKAЖET_3HAKN.get(ATNC, ATNC)
    YBNДNWЬ_YЖAC_N = open(argv[1]) if len(argv)-1 else stdin
    # БEГN ПOKA БE3HOГNM
    -print(''.join(map(БE3HOГNM,
    +print(''.join(map(БE3HOГNM, str.join("",
    # HE CЛYWAN CЛOBA MAГNЧECKNE
    -YBNДNWЬ_YЖAC_N.read().upper())))
    +YBNДNWЬ_YЖAC_N.readlines()).upper())))
    # БEГN OT TEKCTA CTPAWHOГO