Autor Tópico: [Resolvido] Erro na codificação UTF-8 no Python 2.6.5  (Lida 2956 vezes)

Offline Altair Julião

  • Usuário Ubuntu
  • *
  • Mensagens: 286
    • Ver perfil
[Resolvido] Erro na codificação UTF-8 no Python 2.6.5
« Online: 27 de Setembro de 2010, 23:41 »
Olá pessoal, estava fazendo um programa com o seguinte código:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
print ('Digite três números inteiros positivos: ')
a = int(input('a = '))
b = int(input('b = '))
c = int(input('c = '))
limb = b//a
limc = c//a
if a>0 and b>0 and c>0:
   print ('Os múltiplos de', a, 'maiores ou iguais a', b, 'e menores ou igual', c, 'são: ')   
   for m in range (limb, limc+1):
       print (a*m)
else: print ('Dados inválidos')

Alguém sabe porque o python só está mostrando os acentos do primeiro print e do print de else?

Obrigado
« Última modificação: 28 de Setembro de 2010, 20:09 por alt9225 »
Não importa a distro desde que seja GNU/Linux. Viva o Linux e o open source!
Ubuntu 12.10 user
Jundiá - AL

Offline sistematico

  • Usuário Ubuntu
  • *
  • Mensagens: 576
  • Sistematico
    • Ver perfil
    • Sistematico.org
Re: Erro na codificação UTF-8 no Python 2.6.5
« Resposta #1 Online: 28 de Setembro de 2010, 00:41 »
Tentou com aspas duplas?
Lucas Saliés Brum
Ubuntu User #27150
http://sistematico.org

Offline Altair Julião

  • Usuário Ubuntu
  • *
  • Mensagens: 286
    • Ver perfil
Re: Erro na codificação UTF-8 no Python 2.6.5
« Resposta #2 Online: 28 de Setembro de 2010, 14:44 »
Ola Sistematico, tentei com aspas simples e com aspas duplas e o resultado é o sempre o mesmo:

python Documentos/exercicio_3.2.1_1.py
Digite três números inteiros positivos:
a = 2
b = 4
c = 8
('Os m\xc3\xbaltiplos de', 2, 'maiores ou iguais a', 4, 'e menores ou igual', 8, 's\xc3\xa3o: ')
4
6
8

Não importa a distro desde que seja GNU/Linux. Viva o Linux e o open source!
Ubuntu 12.10 user
Jundiá - AL

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: Erro na codificação UTF-8 no Python 2.6.5
« Resposta #3 Online: 28 de Setembro de 2010, 19:08 »
Retire os parenteses dos "print" que funciona!

"print" statement é diferente de "print" function.

[]s
« Última modificação: 28 de Setembro de 2010, 19:17 por fpissarra »

Offline Altair Julião

  • Usuário Ubuntu
  • *
  • Mensagens: 286
    • Ver perfil
Re: Erro na codificação UTF-8 no Python 2.6.5
« Resposta #4 Online: 28 de Setembro de 2010, 19:57 »
Valeu fpissara, tirei os parênteses e funcionou perfeitamente, você poderia explicar a diferença entre print statement e print function?
Não importa a distro desde que seja GNU/Linux. Viva o Linux e o open source!
Ubuntu 12.10 user
Jundiá - AL

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: [Resolvido] Erro na codificação UTF-8 no Python 2.6.5
« Resposta #5 Online: 29 de Setembro de 2010, 14:13 »
Hehe... sem querer ser sacana, e já sendo: Diferença entre print statement e function: Um obedece o charset e o outro não... hehehehe

Sério agora: O statement é incorporado à linguagem e a própria documentação do Python recomenda que seja usado, ao invés da função print. Isso deve ser modificado na versão 3 do python (pelo que li) - quer dizer, o statement continuará lá, mas é possível que recomendem o uso da função ao invés do statement.

[]s

Darcamo

  • Visitante
Re: [Resolvido] Erro na codificação UTF-8 no Python 2.6.5
« Resposta #6 Online: 29 de Setembro de 2010, 23:55 »
Fiquei curioso e pesquisando descobri que dá para usar a função print. Pode usar assim
Código: [Selecionar]
print( unicode('Os múltiplos de %s maiores ou iguais a %s e menores ou igual a %s são: ' % (a,b,c), 'UTF8') )