Some HAT...

= Анабар.ru => Python-форумы => Язык программирования Python => сообщение 1131
| Вход | Регистрация
нет
фото
Автор:  Anabar
Дата:  28-Jun-2007 14:45 (gmt = -3)

В виндовой консоли для вывода используется кодовая страница cp866

это следует знать, когда Вы работаете с этой мрачной ОС.

Ваш скрипт должен выглядеть так. Причëм строка должна быть набрана именно в кодировке cp866 (DOS), ибо простого указания кодировки недостаточно.


 1 # -*- coding: cp866 -*-
 2 import os, sys
 3 
 4 s = 'Введите число'
 5 x = int(raw_input(s))
 

Но более грамотно можно поступить, если написать функцию, перекодирующую строчки в зависимости от платформы. Здесь всë набрано в КОИ-8, но работает одинаково и в *nix'ах и на Маке и в винде.


  1 #!/usr/local/bin/python
  2 # -*- coding: koi8-r -*-
  3 import os, sys
  4 
  5 def dec(i_str):
  6     res = i_str
  7     if os.name=='nt':
  8         res = unicode( i_str, 'koi8-r').encode('cp866') 
  9     elif os.name=='posix':
 10         res = i_str
 11     elif os.name=='mac':
 12         res = unicode( i_str, 'koi8-r').encode('mac_cyrillic')
 13     return res
 14 
 15 s = 'Введите число: '
 16 
 17 try:
 18     x = int(raw_input(dec(s)))
 19 except:
 20     x = 0
 21 print x
 

И ещë, стоит почитать http://anabar.ru/forumz/anafo.p... прежде чем постить код.



все сообщения ветви:

Недостаточно прав для написания ответа
Время генерации страницы в секундах: 4.924