UppiE Postado Fevereiro 18, 2016 Denunciar Share Postado Fevereiro 18, 2016 Sou bem iniciante gostaria de saber como faço para quando a pessoa der o astro que ela quer no input ai o print mostre um valor predeterminado tipo 2 ou 6 em vez do nome do astro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe222 Postado Fevereiro 19, 2016 Denunciar Share Postado Fevereiro 19, 2016 (editado) 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 Fevereiro 19, 2016 por Felipe222 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 UppiE Postado Fevereiro 19, 2016 Autor Denunciar Share Postado Fevereiro 19, 2016 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe222 Postado Fevereiro 19, 2016 Denunciar Share Postado Fevereiro 19, 2016 (editado) 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 Fevereiro 19, 2016 por Felipe222 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 UppiE Postado Fevereiro 19, 2016 Autor Denunciar Share Postado Fevereiro 19, 2016 Consegui agora, muito obrigado !!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 UppiE Postado Fevereiro 19, 2016 Autor Denunciar Share Postado Fevereiro 19, 2016 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) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe222 Postado Fevereiro 20, 2016 Denunciar Share Postado Fevereiro 20, 2016 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 ! ! ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 UppiE Postado Fevereiro 20, 2016 Autor Denunciar Share Postado Fevereiro 20, 2016 Ali no seu exemplo : resultado = dicionario_planetas [ planeta ] + 2 , eu gostaria de trocar esse 2 por um outro valor que o usuário também tenha que inserir, como posso fazer? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe222 Postado Fevereiro 20, 2016 Denunciar Share Postado Fevereiro 20, 2016 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 ! ! ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 UppiE Postado Fevereiro 20, 2016 Autor Denunciar Share Postado Fevereiro 20, 2016 Obrigado pela ajuda, só gostaria de saber oque esse \n antes do texto faz Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 UppiE Postado Fevereiro 20, 2016 Autor Denunciar Share Postado Fevereiro 20, 2016 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Felipe222 Postado Fevereiro 21, 2016 Denunciar Share Postado Fevereiro 21, 2016 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 ! ! ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
UppiE
Sou bem iniciante gostaria de saber como faço para quando a pessoa der o astro que ela quer no input ai o print mostre um valor predeterminado tipo 2 ou 6 em vez do nome do astro
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
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.