fazer o programa dar #reboot [RESOLVIDO]

1. fazer o programa dar #reboot [RESOLVIDO]

Lucas Alves Santos
Lwkas

(usa XUbuntu)

Enviado em 04/01/2016 - 19:34h

Então, gostaria que ao programa terminar ele mostra-se a seguinte mensagem:

print ("""Deseja calcular novamente? 
Tecle: 1 para Sim - 2 para Não:
""")


Como faço para que o python interprete que quando a pessoa digitar 1 voltar para uma determinada parte do programa, e quando digitar 2 o programa simplesmente fechar?

PROGRAMA ABAIXO: (desculpem os erros que vocês acharem, é que estou começando rsrs)

print ("Este programa vai auxiliar você a calcular porcentagem.")
inicio = input("Tecle ENTER para proceguir:\n")

inteiro = float( input("Agora, digite um numero para calcular a porcentagem:"))

print("")

porcentagem = float( input("Porcentagem a calcular?"))
divisaon = 100
divisão = float (divisaon)
resultado = (inteiro * porcentagem / (divisão));

print ("")

print("O resultado é:\n\n\t", resultado)

print("")

print ("""Muito obrigado por utilizar nosso programa!

Att,
Lucas
""")






  


2. MELHOR RESPOSTA

Pythonux
bielinux

(usa Ubuntu)

Enviado em 04/01/2016 - 21:16h

Lá vamos nós de novo!
OK, deixe-me ajudar a gerar seu novo código...

Look out! Minhas observações em seu código Python:
print ("Este programa vai auxiliar você a calcular porcentagem.")
inicio = input("Tecle ENTER para proceguir:\n") # SUGESTÃO: aconselho retirar inicio =, pois o código fica mais elegante, ou seja, mais Pythônico. Alocar variável vai consumir + recursos do SO. Faça um Xfce, não um Unity.

inteiro = float(input("Agora, digite um numero para calcular a porcentagem:")) # É... variável chamada "inteiro" com casting float no input? oO

print("")

porcentagem = float( input("Porcentagem a calcular?"))
divisaon = 100
divisao = float (divisaon) # Retirei este divisão. Nunca use acentos em nomes de variáveis e/ou outro caractere especial que não seja o underline (_)
resultado = (inteiro * porcentagem / (divisão)); # Sugestão: ponto e vírgula aqui? Sério isso?

print ("")

print("O resultado é:\n\n\t", resultado)

print("")

print ("""Muito obrigado por utilizar nosso programa!

Att,
Lucas
""")


Agora vamos implentar aquele sistema que solicitou:

Para isso, não está o código acima? Deixe-o em uma função "porcentagem":

def porcentagem():
... # o código acima fica aqui...


Beleza :), depois disso, adicione estas linhas de código no final do arquivo:


porcentagem();

def depois_da_porcentagem():
escolha = int(input("""Deseja calcular novamente?
Tecle: 1 para Sim - 2 para Não:
"""))

if escolha == 1:
porcentagem() # Caso a escolha seja 1, vamos chamar a função novamente

elif escolha == 2:
exit(0) # Senão, caso escolha seja 2, finalizamos o programando dizendo ao SO que deu tudo certo (0)

else:
print("Caractere invalido!")
depois_da_porcentagem()
# CASO O USUÁRIO SEJA TEIMOSO E NÃO ENTRE COM 1 NEM 2... IMPRIMIMOS CARACTERE INVÁLIDO, E RECOMEÇAMOS TODO ESSE PROCESSO


Não dei uma olhada assim brusca no código pois estou de saída.

Espero ter ajudado!

3. Re: fazer o programa dar #reboot [RESOLVIDO]

Lucas Alves Santos
Lwkas

(usa XUbuntu)

Enviado em 04/01/2016 - 21:23h

Dica muito boa! Fiz o processo que citei usando While. Veja:

print ("Este programa vai auxiliar você a calcular porcentagem.")
inicio = input("Tecle ENTER para proceguir:\n")
x=1
while (x==1):
inteiro = float( input("Agora, digite um numero para calcular a porcentagem:"))
print("")
porcentagem = float( input("Porcentagem a calcular?"))
divisaon = 100
divisão = float (divisaon)
resultado = (inteiro * porcentagem / (divisão));
print ("")
print("O resultado é:\n\n\t", resultado)
print("")
print ("""Muito obrigado por utilizar nosso programa!
Att,
Lucas
""")
x=int(input("Deseja calcular novamente? Tecle: 1 para Sim - 2 para Não: "))

print (" ")



4. Re: fazer o programa dar #reboot

Pythonux
bielinux

(usa Ubuntu)

Enviado em 04/01/2016 - 21:48h

Lwkas escreveu:

Dica muito boa! Fiz o processo que citei usando While. Veja:

print ("Este programa vai auxiliar você a calcular porcentagem.")
inicio = input("Tecle ENTER para proceguir:\n")
x=1
while (x==1):
inteiro = float( input("Agora, digite um numero para calcular a porcentagem:"))
print("")
porcentagem = float( input("Porcentagem a calcular?"))
divisaon = 100
divisão = float (divisaon)
resultado = (inteiro * porcentagem / (divisão));
print ("")
print("O resultado é:\n\n\t", resultado)
print("")
print ("""Muito obrigado por utilizar nosso programa!
Att,
Lucas
""")
x=int(input("Deseja calcular novamente? Tecle: 1 para Sim - 2 para Não: "))

print (" ")


Muito bom.
Só uma crítica:
" x=int(input("Deseja calcular novamente? Tecle: 1 para Sim - 2 para Não: "))",
e se o usuário digitar 3? Como fica? :-) Sugiro contornar este problema desta forma:

x=input("Deseja calcular novamente? Tecle: 1 para Sim - Outra coisa para Não: "))

Funciona com qualquer dígito do teclado, hein :-)

Agora ordeno LIKE + Melhor resposta :-)


5. Re: fazer o programa dar #reboot [RESOLVIDO]

Arthur J. Hoch
Arthur_Hoch

(usa FreeBSD)

Enviado em 04/01/2016 - 22:16h

bielinux escreveu:
x=input("Deseja calcular novamente? Tecle: 1 para Sim - Outra coisa para Não: "))



Sugiro utilizar algo parecido com "Deseja calcular novamente? (s/N)"

Aí fica visto que o padrão é não, e só será sim se o usuário digitar s, S ou s91jd1!@#890jd9!@#110.

Edit:

O que é x?


6. Re: fazer o programa dar #reboot [RESOLVIDO]

Lucas Alves Santos
Lwkas

(usa XUbuntu)

Enviado em 04/01/2016 - 22:36h

Arthur_Hoch escreveu:

bielinux escreveu:
x=input("Deseja calcular novamente? Tecle: 1 para Sim - Outra coisa para Não: "))



Sugiro utilizar algo parecido com "Deseja calcular novamente? (s/N)"

Aí fica visto que o padrão é não, e só será sim se o usuário digitar s, S ou s91jd1!@#890jd9!@#110.

Edit:

O que é x?


O X não é nada, apenas esta ali para representar uma variavel, tanto é que você pode trocalo por qualquer outra letra como por exemplo o s. Veja:

print ("Este programa vai auxiliar você a calcular porcentagem.")
inicio = input("Tecle ENTER para proceguir:\n")
s=1
while (s==1):
inteiro = float( input("Agora, digite um numero para calcular a porcentagem:"))
print("")
porcentagem = float( input("Porcentagem a calcular?"))
divisaon = 100
divisão = float (divisaon)
resultado = (inteiro * porcentagem / (divisão));
print ("")
print("O resultado é:\n\n\t", resultado)
print("")
print ("""Muito obrigado por utilizar nosso programa!
Att,
Lucas
""")
s=int(input("Deseja calcular novamente? Tecle: 1 para Sim - 2 para Não: "))

print (" ")



7. Re: fazer o programa dar #reboot [RESOLVIDO]

Arthur J. Hoch
Arthur_Hoch

(usa FreeBSD)

Enviado em 05/01/2016 - 21:04h

Lwkas escreveu:
O X não é nada, apenas esta ali para representar uma variavel, tanto é que você pode trocalo por qualquer outra letra como por exemplo o s. Veja:


Quis dizer que não é uma boa prática de programação utilizar variáveis de uso geral com nomes de "aux", "x" e "y", no caso "x", em programas mais estensos pode atrapalha na leitura do código.
Nesse caso recomendo alguma coisa como "continuar". É só uma observação não leve a mal.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts