Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida em relação ao python


UppiE

Pergunta

11 respostass a esta questão

Posts Recomendados

  • 0

Olá!

 

Também sou iniciante em Python . . .

 

Bom pelo que vi o mais apropriado para você agora, acho que poderia ser usando uma variável do tipo Dicionario:

 

Nesse tipo de variável, você pode ter dentro dela vários ( pares ), separados por virgulas ( pares ) estes formados por uma chave e um valor correspondente a esta chave.

 

Exemplo:

 

dicionario_planetas = { “mercurio” : 1, “venus” : 2 }

 

planeta = input ( “\nEntre com o Nome do Planeta: ” )

 

print ( dicionario_planetas [ planeta ] )

 

 

Se o código acima lhe ser útil . . . Tente estudar mais sobre dicionários em Python e criar variações do seu problema brincando com dicionarios de Python!

 

Espero Ter Ajudado ! ! !

Editado por Felipe222
Link para o comentário
Compartilhar em outros sites

  • 0

Muito Obrigado :D

Traceback (most recent call last):
  File "C:/Users/Larp/Documents/PYTHON PROGRAMS/teste.py", line 1, in <module>
    dicionario_planetas = { mercurio : 1, venus : 2 }
NameError: name 'mercurio' is not defined
>>>  

Esse é o erro que aparece agora... alguma sugestão?

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

 

Ao que parece, o erro está acontecendo porque voce esqueceu de colocar os itens mercurio e venus entre aspas:

 

dicionario_planetas = { “mercurio” : 1, “venus” : 2 }

 

Sendo assim o interpretador está interpretando que mercurio e/ou venus devem ser nomes de identificadores, mais provavelmente variaveis, mas como não existe uma variavel chamada mercurio ou venus dai o erro!

Editado por Felipe222
Link para o comentário
Compartilhar em outros sites

  • 0

Traceback (most recent call last):
  File "C:/Users/Larp/Documents/PYTHON PROGRAMS/teste.py", line 4, in <module>
    resultado = planeta + 2
TypeError: Can't convert 'int' object to str implicitly

Esse é o erro que da agora 

dicionario_planetas = { "mercurio" : 1, "venus" : 2 }
planeta = input ( "\nEntre com o Nome do Planeta: " )
print ( dicionario_planetas [ planeta ] )
resultado = planeta + 2
print (resultado)
 

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

 

Traceback (most recent call last):
  File "C:/Users/Larp/Documents/PYTHON PROGRAMS/teste.py", line 4, in <module>
    resultado = planeta + 2
TypeError: Can't convert 'int' object to str implicitly

 

O erro acima está acontecendo porque, você está tentando fazer uma operação, mais especificamente ( soma ) entre dois tipos de dados completamente diferentes, o que está sendo mostrado de forma explicita por:

 

TypeError: Can't convert 'int' object to str implicitly

 

Esta parte da mensagem está dizendo que não é possível converter o objeto inteiro ( numero ) para o tipo string ( palavra ) de forma implícita ( + / - automaticamente ) pelo próprio interpretador.

 

Resumindo: você está tentando somar uma palavra com um numero! O que não é permitido . . .

 

Se com:

 

resultado = planeta + 2

 

você queria pegar o valor do planeta digitado pelo usuário ex: “mercurio” que é igual a 1 e somá-lo com 2, resultando talvez em um outro valor ( 3 ) que você também poderia encontrar no dicionario de planetas, o correto seria nesta parte:

 

resultado = dicionario_planetas [ planeta ] + 2

 

print ( resultado )

 

ou

 

resultado = dicionario_planetas [ planeta ] + 2

 

print ( dicionario_planetas [ resultado ] )

 

Obs.: com a segunda opção vai surgir um erro que vou deixar para você resolver . . . tente fazer uma interpretação detalhada de o porque o erro acontecer, e se possivel e/ou mesmo voce se sentir a vontade poste a sua interpretação do que pode estar causando o erro . . .

 

 

Bom por hora é só . . .

 

Ubuntu 14.04 - Python 2.7.6 - Python 3.4.3

 

Espero Ter Ajudado ! ! !

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

 

Bom não tem erro é só fazer da mesma forma como você faz para receber a variável planeta:

 

numero = input ( “\nEntre com um Número: ” )

 

Apenas Atentando: que no Python 3, a função input() é usada para a entrada de strings ( Palavras ) sendo assim você não poderia utilizar o valor numerico sem antes converter o valor:

 

 

numero = int ( numero )

ou

numero = int ( input ( “\nEntre com um Número: ” ) )

 

 

Uma vez a conversão sendo corretamente realizada você pode utilizar a variavel para o que você deseja fazer . . .

 

resultado = dicionario_planetas [ planeta ] + numero

 

 

Caso seja possível para você, tem esse canal no YouTube - Ignorância zero:

 

https://www.youtube.com/channel/UCmjj41YfcaCpZIkU-oqVIIw/videos

 

ele me ajudou bastante no inicio de meus estudos em Python e tenho certeza que lhe será bastante útil também . . .

 

 

Bom por hora é só . . . se voce tiver mais alguma duvida é só posta-la, que acredito que vai ter alguém no forum que vá lhe ajudar, hoje e na proxima semana é quase certo que vai ser muito dificil para mim postar qualquer coisa, mas quem sabe . . .

 

Ubuntu 14.04 Python 2.7.6 - Python 3.4.3

 

Espero Ter Ajudado ! ! !

Link para o comentário
Compartilhar em outros sites

  • 0

Eu tentei depois dar um valor com numeros com virgula e não deu certo, creio que seja a estrutura que eu fiz

 

dicionario_planetas = { "mercurio" : 3,2"venus" : 2 }
planeta = input ( "\nEntre com o Nome do Planeta: " )
numero = int ( input ( "\nEntre com sua massa: " ) )

resultado = dicionario_planetas [ planeta ]  * numero
print ( resultado ) 

tentei botar float no dicionario e não consegui mesmo assim
 

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

 

 

Rapidinho só pra finalizar . . .

 

 

- O ( \n ) serve para você dizer ao interpretador Python que você deseja que ele pule uma linha, você pode colocá-lo em qualquer parte de uma string, principalmente aquelas em que você deseja exibir na tela, usando print, isso deixa a visualização dos dados mais organizado.

 

 

- já o motivo para o código que você fez não funcionar é o de que na maioria absoluta das linguagens de programação, não se usa a virgula ( , ) para representar números decimais ( float ), mas um simples ponto ( . )

 

sem contar que como já disse em um dicionario cada par de chaves com seus respectivos valores são separados por virgulas, sendo assim você não poderia usar virgula dentro de um dicionario a não ser para a função para a qual ela foi desempenhada para funcionar ali dentro.

 

 

É só mudar isso:

 

dicionario_planetas = { "mercurio" : 3,2"venus" : 2 }

 

para isso:

 

dicionario_planetas = { "mercurio" : 3.2 , "venus" : 2 }

 

 

 

Espero Ter Ajudado ! ! !

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...