Olá pessoal, eu to começando a aprender python e eu me deparei com um problema, toda vez que tento rodar o meu código aparece uma mensagem de erro, em outras máquinas roda normalmente mas no meu pc (que instalei recentemente KDE neon) está dando erro
O meu código:
valor1 = int(input('Digite um valor '))
valor2 = int(input('Digite outro valor '))
s = valor1 + valor2
print(‘A soma entre {} e {} é igual a {}’.format(valor1, valor2, s))
O erro:
SyntaxError: Non-ASCII character ‘\xc3’ in file /home/gmmacedo/Documentos/curso_de_python/teste.py on line 4, but no encoding declared; see PEP 263 – Defining Python Source Code Encodings | peps.python.org for details
Process returned 1 (0x1) execution time : 0.014 s
Eu creio que sim, gosto sempre de deixar o sistema na ultima atualização, a não ser que o KDE neon esteja com uma versão desatualizada do python (na outra máquina eu uso o Arch Gnome)
Pode está aí o problema então.
Não mexo muito com python, logo, não tenho certeza disso, mas, ao que tudo indica, as versões mais recentes do python estão vindo com codificação utf-8 por padrão, diferente das versões mais antigas, que tinham como padrão o ASCII. É isso ou algo semelhante.
Alguém que mexe mais com python poderá esclarecer…
Uma dica, no python 3 ao invés de colocar “print(‘A soma entre {} e {} é igual a {}’.format(valor1, valor2, s))” você pode simplesmente deixar da seguinte forma: print (f’A soma entre {valor1} e {valor2} é igual a {s}’).
Caso queira determinar uma quantidade máxima de casas após a vírgula para a soma por exemplo, ficaria da seguinte forma: print (f’A soma entre {valor1} e {valor2} é igual a {s:.2f}’), especificando o número de casas desejado.
Olá @gmmacedo! Só uma dica. Você pode usar o novo formato, que começa a partir da versão 3.7 eu acho, que é mais simples. Exemplo abaixo.
# Version 3.7 Formatting Example
name: str = input("Your name? ")
print(f"His name is {name}!") # O f está substituindo o format e ele deve está fora das aspas.