[Python] Opção Encerrar Programa [RESOLVIDO]

1. [Python] Opção Encerrar Programa [RESOLVIDO]

Luan Kleber
luanyata

(usa Ubuntu)

Enviado em 10/01/2014 - 17:55h

Olá pessoal tudo bem... em minha jornada de estudo em Python fiz esse código pra brincar mais acabou dando uma baita dor de cabeça kkkk. Eu queria fazer uma opção que parasse esse while e encerrasse a execução com uma mensagem Bye!!!.
Fiz de varias maneiras mais nada ei o dito cujo:

#! /usr/bin/env python
# -*- coding:utf-8 -*-
import os
usuario= raw_input("Olá com quem eu falo?\n\n")

print "Ola %s, esses são os programas que tenho em minha base de dados" %usuario
print" ### Lenbrete!! Para a instalação dos programas você precisa da\n\t\tsenha ROOT (Administrador) do Sistema ###.\n"

programas=["SSH","VIM","WINE","FIREFOX","TODOS!"]

loop="y"

while loop == "y":
try:
for i in range(len(programas)):
print "Digite %i para %s" %(i,programas[i])
option=int(raw_input("\nDigite o numero correspondente ao Programa:\n\n "))
if option == 0:
os.system("sudo apt-get install openssh-server")

elif option == 1:
os.system("sudo apt-get install vim")

elif option == 2:
os.system("sudo apt-get install wine")

elif option == 3:
os.system("sudo apt-get install firefox")

elif option == 4:
os.system("sudo apt-get install openssh-server vim wine firefox")

else:
print "numero invalido, por favor digite um numero valido\n "

except:

print "Digito invalido, Digite apenas os numeros apresentado na tabela.\n"

Vi que não tem "do while" em python, ai que a cabeça esquentou mais ainda :D
Quem puder dar uma forca ai :)



  


2. Re: [Python] Opção Encerrar Programa [RESOLVIDO]

Bruno Rogério Fernandes
brunorf

(usa Arch Linux)

Enviado em 11/01/2014 - 12:11h

basta fazer uma pergunta pro usuário no final do while, se ele deseja continuar. Daí você coloca a resposta dele na variável loop.


3. Re: [Python] Opção Encerrar Programa [RESOLVIDO]

Luan Kleber
luanyata

(usa Ubuntu)

Enviado em 13/01/2014 - 09:52h

Ola Bruno, eu tinha colocado um while no fim do código, eu tinha editado o código antes de postar. Queria fazer um tratamento de erro nessa ultima decisão o mesmo ficou dessa forma, porem está com erro. Segue o codigo:

#! /usr/bin/env python
# -*- coding:utf-8 -*-
import os
usuario= raw_input("Olá com quem eu falo?\n\n")

print "Ola %s, esses são os programas que tenho em minha base de dados" %usuario
print" ### Lenbrete!! Para a instalação dos programas você precisa da\n\t\tsenha ROOT (Administrador) do Sistema ###.\n"

programas=["SSH","VIM","WINE","FIREFOX","TODOS!"]

loop="s"

while loop == "s":
try:
for i in range(len(programas)):
print "Digite %i para %s" %(i,programas[i])
option=int(raw_input("\nDigite o numero correspondente ao Programa:\n\n "))
if option == 0:
os.system("sudo apt-get install openssh-server")

elif option == 1:
os.system("sudo apt-get install vim")

elif option == 2:
os.system("sudo apt-get install wine")

elif option == 3:
os.system("sudo apt-get install firefox")

elif option == 4:
os.system("sudo apt-get install openssh-server vim wine firefox")

else:
print "numero invalido, por favor digite um numero valido\n "

except:

print "Digito invalido, Digite apenas os numeros apresentado na tabela.\n"

loop= raw_input("Deseja Instalar outra programa?\n(s/n)")
try:
if loop == s:
loop==s
else:
loop == n
print "Good Bye"
except:
print "Opcao Invalida"

Eu consigo executa-lo, porem notei alguns erros:
Quando solicito que usuário digite um numero que não corresponde ao programa na lista ele alem de apresentar numero invalido ele pergunta se o usuario quer instalar outro programa, coisa que não deveria acontecer. Se eu digito S ele apresenta numero invalido e volta a apresentar o "menu" dos programas, se "N" ou qualquer outra letra ele imprime opção invalida e finaliza.


4. Re: [Python] Opção Encerrar Programa [RESOLVIDO]

Luan Kleber
luanyata

(usa Ubuntu)

Enviado em 13/01/2014 - 10:23h

Fiz uma pequena mudança no fim do código que resolveu alguns problemas:

loop= raw_input("Deseja Instalar outra programa?(s/n)\n")
if loop == "s":
loop=="s"

elif loop == "n":
print "Good Bye"

else:
print "Opcao Invalida"

Agora quando digo "s" ele me apresenta o "menu" normalmente e quando digo "n" é impresso Good Bye"
O problema agora é quando eu digito um caractere invalido ele apenas imprime na tela e finaliza, não conseguir colocar o While.


5. Re: [Python] Opção Encerrar Programa [RESOLVIDO]

Luan Kleber
luanyata

(usa Ubuntu)

Enviado em 13/01/2014 - 16:24h

Finalmente conseguir com uma ajuda de um amigo, segue o código como ficou:

#! /usr/bin/env python
# -*- coding:utf-8 -*-
import os
import time
usuario= raw_input("Olá com quem eu falo?\n\n")
time.asctime()

print "Ola %s, esses são os programas que tenho em minha base de dados" %usuario
print" ### Lenbrete!! Para a instalação dos programas você precisa da\n\t\tsenha ROOT (Administrador) do Sistema ###.\n"

programas=["SSH","VIM","WINE","FIREFOX","TODOS!"]

loop="s"

while loop == "s":
try:
for i in range(len(programas)):
print "Digite %i para %s" %(i,programas[i])
option=int(raw_input("\nDigite o numero correspondente ao Programa:\n\n "))
if option == 0:
os.system("sudo apt-get install openssh-server")

elif option == 1:
os.system("sudo apt-get install vim")

elif option == 2:
os.system("sudo apt-get install wine")

elif option == 3:
os.system("sudo apt-get install firefox")

elif option == 4:
os.system("sudo apt-get install openssh-server vim wine firefox")

else:
print "numero invalido, por favor digite um numero valido\n "

except:

print "Digito invalido, Digite apenas os numeros apresentado na tabela.\n"
while True:
loop= raw_input("Deseja Instalar outra programa?(s/n)\n")
if loop == "s":
loop=="s"
break
elif loop == "n":
print "Good Bye"
quit()
else:
print "Opcao Invalida"






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts