Ir ao conteúdo

Posts recomendados

Postado

Alguém pode me AJUDAR? Não consigo criar uma variável! Estou tentando fazer um algorítimo conversor de medidas mais complexo, onde o usuário é livre para escolher a unidade de medida de entrada e de saída! Mas para isso preciso que o sistema abaixo funcione, e crie uma variável através de uma outra variável! Mas não consigo cria-la, observe:

print('TESTANDO VARIÁVEL')
teste = input('escreve 1 ou 2')
if teste == 1:
    varcriada = 10
if teste == 2:
    varcriada = 20
print(varcriada)

 

"teste" é a primeira variável, através dela desejo transforma-la em outra variável, nesse caso um número (10 ou 20), mas isso não funciona! Pois o programa diz que a "varcriada" NÃO foi definida!

 

EX: Como faço para criar estas variáveis? se eu digitar 1, quero que crie uma variável com o valor 10, e se eu digitar 2 quero que crie uma variável com valor 20! Mas isso não é o que acontece com o Algorítimo a cima, por favor me ajudem!

Mostrar menos

 

 

 

 

--------------AQUI ESTÁ O ALGORÍTIMO DO CONVERSOR DE MEDIDAS----------------------

As variáveis "ms" e "me" de acordo com o programa não foram definidas! O calculo para executar a ação está correto! Não vou me aprofundar no funcionamento, apenas preciso saber como criar estas duas variáveis e dar seus respectivos valores!

 

AQUI ESTÁ

print('Digite o número da unidade a ser convertida')
print('1 - Milimímetro')
print('2 - Centímetro')
print('3 - Decímetro')
print('4 - Metro')
print('5 - Decâmetro')
print('6 - Hectâmetro')
print('7 - Quilômetro')
unidadece = input()
print('Digite o número da unidade para conversão final')
unidadecs = input()
if unidadece == 1:
   me = 1000
if unidadece == 2:
   me = 100
if unidadece == 3:
   me = 10
if unidadece == 4:
   me = 1
if unidadece == 5:
   me = 0.1
if unidadece == 6:
   me = 0.01
if unidadece == 7:
   me = 0.001
if unidadecs == 1:
   ms = 1000
if unidadecs == 2:
   ms = 100
if unidadecs == 3:
   ms = 10
if unidadecs == 4:
    ms = 1
if unidadecs == 5:
   ms = 0.1
if unidadecs == 6:
   ms = 0.01
if unidadecs == 7:
   ms = 0.001
print('Digite o valor para ser convertido')
unidade = float(input())
resultado = (ms / me) * unidade
print('O valor é ', resultado)

 

Postado

A função input() retorna uma string, então nos ifs você está comparando uma string com um número, o que nunca resultará em VERDADEIRO, então seu programa nunca entra em nenhum dos ifs (e como a variável só é criada dentro dos ifs, o resultado é que seu programa chega ao fim e tenta fazer contas com variáveis que não foram definidas, logo dá erro).

 

Então você precisa usar a função int() para converter a saída de input() de string para um valor inteiro. Ex:

unidadece = int(input())

 

E também não tem necessidade de criar a variável apenas se entrar nos ifs, você pode defini-la no começo do programa, antes dos ifs, e colocar um número inicial (que poderá se modificado se o programa entrar nos ifs).

 

Ex:

ms = 1
me = 1

 

  • Curtir 2
Postado
50 minutos atrás, isrnick disse:

A função input() retorna uma string, então nos ifs você está comparando uma string com um número, o que nunca resultará em VERDADEIRO, então seu programa nunca entra em nenhum dos ifs (e como a variável só é criada dentro dos ifs, o resultado é que seu programa chega ao fim e tenta fazer contas com variáveis que não foram definidas, logo dá erro).

 

Então você precisa usar a função int() para converter a saída de input() de string para um valor inteiro. Ex:


unidadece = int(input())

 

E também não tem necessidade de criar a variável apenas se entrar nos ifs, você pode defini-la no começo do programa, antes dos ifs, e colocar um número inicial (que poderá se modificado se o programa entrar nos ifs).

 

Ex:


ms = 1
me = 1

 

 

 

 MUITO obrigado @isrnick, sua resposta foi simples e clara, deu certo! 

  • Curtir 2
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!