Logo Hardware.com.br
Gon Hunter
Gon Hunter Super Participante Registrado
513 Mensagens 9 Curtidas

Primeiro programa python?

#1 Por Gon Hunter 24/05/2014 - 22:29
Bom eu estou procurando aprende python para ter mais uma linguagem em meu curriculo. Por enquanto estou engatinhando, por isto procurei em uma pagina do google e encontrei o material de referencia da empresa google nós primeiro passos deu tudo certo somente no primeiro programa não saiu como esperado.

O codigo é este:
#!/usr/bin/python

# import modules used here -- sys is a very standard one
import sys

# Gather our code in a main() function
def main():
print 'Hello there', sys.argv[1]
# Command line args are in sys.argv[1], sys.argv[2] ...
# sys.argv[0] is the script name itself and can be ignored

# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
main()
a pagina é relacionada ao python https://developers.google.com/edu/python/introduction?hl=pt-BR

Eu segui o roteiro apresentado no site mas o programa esta com um erro no if :
if __name__ == '__main__':
main()
TerraSkilll
TerraSkilll Zumbi Moderador
4.1K Mensagens 1.2K Curtidas
#2 Por TerraSkilll
25/05/2014 - 11:00
Que erro aparece? Que versão do Python você está usando? Como está executando o programa?

Testei o mesmo código aqui e funcionou, então deve ser algum problema no modo como você está fazendo. Lembrando que, no Python, a tabulação é parte da sintaxe, então deve-se tomar muito cuidado com isso.

O código que testei é:

[php]#!/usr/bin/python

# import modules used here -- sys is a very standard one
import sys

# Gather our code in a main() function
def main():
print ('Hello there', sys.argv[1])
# Command line args are in sys.argv[1], sys.argv[2] ...
# sys.argv[0] is the script name itself and can be ignored

# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
main()[/php]

Se você prestar atenção, vai ver que a única coisa que mudei foi a linha com a função print, onde adicionei parênteses. Isso porque, aparentemente, no Python 3 (que é o que usei para teste) essa função requer o uso dos parênteses. Fora isso, é o mesmo código.

Note que, para este código executar, você precisa adicionar um parâmetro na chamada ao arquivo hello.py, ou seja, a execução deve ser:

python hello.py UmNomeQualquer

E a saída será:

Hello there UmNomeQualquer

Se você omitir o parâmetro, o programa falhará porque ele depende do parâmetro e não trata a ausência dele.

Testei no Windows usando o Portable Python (http://portablepython.com/), que vem com o PyScripter, um editor que ajuda muito a testar esse tipo de coisa.

Abraço.
...
Gon Hunter
Gon Hunter Super Participante Registrado
513 Mensagens 9 Curtidas
#3 Por Gon Hunter
25/05/2014 - 13:00
TerraSkilll disse:


Eu estou usando esta versão de python em meu terminal:

Python 2.7.3 (default, Feb 27 2014, 19:39:10)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Bem realmente no próprio site não estao usando este parênteses.Estou usando linux mint e a versão de python que é mais atual é esta segundo o site do desenvolvedor do sistema.

No import sys o modulo tem que instalado na pasta lib eu olhei a pasta e se encontra vazia. Despois de ter ler a documentaçao
C# [OK] Java [OK] Windows [OK] Linux [OK ] C ++ [OK] C [OK] Assembly [OK] Python [OK]
ripongao
ripongao Veterano Registrado
755 Mensagens 94 Curtidas
#4 Por ripongao
25/05/2014 - 18:06
testei no linux aqui e funcionou, se coloco parênteses então é ecoado parênteses na chamada da função printf, caso remova é ecoado normalmente, veja o teste abaixo, copiei vosso código deste post.
O lance da linha referente ao 'if ...' é que determinada variável pode não estar setada em tempo de corrida suponho, falta investigar mas na maioria das linguagens é assim.


ripongao@assembly:~/Documentos$ python
Python 2.7.3 (default, Feb 27 2014, 19:58:35)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
ripongao@assembly:~/Documentos$ python algo.py alo
('Hello there', 'alo'
ripongao@assembly:~/Documentos$ python algo.py alo
Hello there alo
Quando acontece esse tipo de erro o senhor deverá eliminar transeuntes, tente o código abaixo:
[php] import sys
print 'Hello there', sys.argv[1]
[/php]O senhor pode tentar o código abaixo para ser mais enxuto ainda, salve-o como mundo.py:
[php]
print 'Alo mundo'
[/php]

ripongao@assembly:~/Documentos$ python mundo.py
Alo mundo
Ou ainda, um código menor ainda para verificar o retorno da saída de um programa, salve-o como saida.py.
[php]
exit(1)
[/php]

ripongao@assembly:~/Documentos$ python saida.py; echo $?
1
Desliguei-me do fórum. Conta canelada.
const_evolution
const_evolut... Zerinho Registrado
9 Mensagens 0 Curtidas
#5 Por const_evolut...
25/05/2014 - 23:56
Gon Hunter disse:


Talvez sua versão de python está corrompida, você pode tentar resolver baixando a versão aqui

Depois descompacte em outro lugar (pode ser sua pasta home mesmo) usando o comando tar:


$ tar -zxvf arquivo.tgz


Após descompactar verifique esse tuto da página oficial referente sua versão e tente instalar o módulo que falta executando o arquivo setup.py como mostra.

Espero ter ajudado.
"Empenhar-se ativamente para alcançar determinado objeto, dá à vida, significado e substância." (Bruce Lee)
TerraSkilll
TerraSkilll Zumbi Moderador
4.1K Mensagens 1.2K Curtidas
#6 Por TerraSkilll
26/05/2014 - 10:56
Gon Hunter
Acho que você não entendeu parte do que escrevi. Não disse que você precisava colocar parênteses, disse que para funcionar no Python 3 (que é o que tenho), eu precisei colocar parênteses. No 2.7 (o que você está usando), eles aparentemente não são necessários. Disse isso para que você veja que não há problema algum com o código do tutorial.

Como dito pelo const_evolution, talvez haja um problema com sua instalação do Python apenas, pois o código funciona normalmente (se executado com algum parâmetro).

Abraço.
...
Gon Hunter
Gon Hunter Super Participante Registrado
513 Mensagens 9 Curtidas
#7 Por Gon Hunter
28/05/2014 - 23:19
Não entendo mais tentei reinstalar o python e consegui, mas o codigo nao roda.
codigo:
#!/usr/bin/python
#import modules used here -- sys is a very standard one
import sys
#Gather our code in a main() function
def main():
print 'Hello there', sys.argv[1]
#Command line args are in sys.argv[1],sys.argv[2]...
#sys.argv[0] is the script nam itself and can be ignored

#Standard boilerplace to call the main() function to begin
#the program.
if _name_ == '_main_':
main()
erro na saida
python hello.py Douglas
File "hello.py", line 3
import sys
^
IndentationError: unexpected indent
versão do python
python
Python 2.7.3 (default, Feb 27 2014, 19:39:10)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
C# [OK] Java [OK] Windows [OK] Linux [OK ] C ++ [OK] C [OK] Assembly [OK] Python [OK]
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#8 Por Fergo
28/05/2014 - 23:31
Seu problema está na identação. No Python, é importantíssimo (para não dizer essencial) que seu código esteja identado corretamente. Isso é um problema quando se está copiando códigos da internet/PDF pois normalmente a tabulação não fica como no formato original.

Se você está dando um "tab" ou "espaços" antes do import sys, remova-os.
Site pessoal www.fergonez.net
Portfolio
www.fbirck.com
Artigos
Informática
TerraSkilll
TerraSkilll Zumbi Moderador
4.1K Mensagens 1.2K Curtidas
#9 Por TerraSkilll
29/05/2014 - 16:07
Fergo
Seu problema está na identação. No Python, é importantíssimo (para não dizer essencial) que seu código esteja identado corretamente. Isso é um problema quando se está copiando códigos da internet/PDF pois normalmente a tabulação não fica como no formato original.

Se você está dando um "tab" ou "espaços" antes do import sys, remova-os.


E eu ainda avisei cap_feceiro.png:

Testei o mesmo código aqui e funcionou, então deve ser algum problema no modo como você está fazendo. Lembrando que, no Python, a tabulação é parte da sintaxe, então deve-se tomar muito cuidado com isso.


Abraços.
...
© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal