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

Repetição de Código


Filipe Melo

Pergunta

Eu fiz um código que determina se 3 números em uma linha são pares ou ímpares, mas o código só se repete uma vez, quero que ele se repita infinitamente. O jeito que eu achei de resolver isso é copiando e colando o código várias vezes, mas essa não é a solução ideal.

 

lista = []

number1, number2, number3 = input().split()
number1, number2, number3 =int(number1), int(number2), int(number3)


if(number1 % 2 == 0):
  lista.append("Par")
if(number1 % 2 != 0):
    lista.append("Ímpar")

if(number2 % 2 == 0):
  lista.append("Par")
if(number2 % 2 != 0):
    lista.append("Ímpar")

if(number3 % 2 == 0):
  lista.append("Par")
if(number3 % 2 != 0):
    lista.append("Ímpar")

print(lista)

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

CONSEGUI

 

import sys
import os
print("Escolha 3 números:")
number1, number2, number3 = input().split()
number1, number2, number3 =int(number1), int(number2), int(number3)

lista = []

if(number1 % 2 == 0):
  lista.append("Par")
if(number1 % 2 != 0):
    lista.append("Ímpar")

if(number2 % 2 == 0):
  lista.append("Par")
if(number2 % 2 != 0):
    lista.append("Ímpar")

if(number3 % 2 == 0):
  lista.append("Par")
if(number3 % 2 != 0):
    lista.append("Ímpar")
print(lista)

def restart_program():
  print("Escolha 3 números:")
number1, number2, number3 = input().split()
number1, number2, number3 =int(number1), int(number2), int(number3)

lista = []

if(number1 % 2 == 0):
  lista.append("Par")
if(number1 % 2 != 0):
    lista.append("Ímpar")

if(number2 % 2 == 0):
  lista.append("Par")
if(number2 % 2 != 0):
    lista.append("Ímpar")

if(number3 % 2 == 0):
  lista.append("Par")
if(number3 % 2 != 0):
    lista.append("Ímpar")
print(lista)

import sys
import os


print("Escolha 3 números:")
number1, number2, number3 = input().split()
number1, number2, number3 =int(number1), int(number2), int(number3)

lista = []

if(number1 % 2 == 0):
  lista.append("Par")
if(number1 % 2 != 0):
    lista.append("Ímpar")

if(number2 % 2 == 0):
  lista.append("Par")
if(number2 % 2 != 0):
    lista.append("Ímpar")

if(number3 % 2 == 0):
  lista.append("Par")
if(number3 % 2 != 0):
    lista.append("Ímpar")
print(lista)

restart = input("\nDo you want to restart the program? [y/n] > ")
if str(restart) == str("y"):
    os.execl(sys.executable, sys.executable, * sys.argv) # Nothing hapens
else:
    print("\nThe program will be closed...")
    sys.exit(0)

Link para o comentário
Compartilhar em outros sites

  • 0

Pra que essa complicação toda? Use um while e pronto:

while True:
    # faz tudo que você quer aqui (escolha 3 números, etc)

    resp = input('\nDo you want to restart the program? [y/n] > ')
    if resp == 'n':
        break # não quer continuar, sai do while

Repare também que não precisa fazer str("y"), pois um texto entre aspas já é uma string (no caso acima eu usei 'n', já que ele interrompe o loop se digitar "n" - se digitar "y", ele simplesmente continua o loop). Não tem necessidade nenhuma de usar os.execl (isso executa um novo programa, mas pra que isso, se com o while dá pra continuar no mesmo programa?)

---

Só pra constar, se digitar qualquer coisa que não seja "n", ele também continua o loop. Se quiser ser mais restrito ainda e validar, poderia ser algo assim:
 

def quer_continuar():
    while True:
        resp = input('\nDo you want to restart the program? [y/n] > ')
        if resp in ('y', 'n'): # se é uma das opções válidas, retorna
            return resp
        else:
            # opção inválida
            print('Type only "y" or "n"')

while True:
    # faz tudo que você quer aqui (escolha 3 números, etc)

    if quer_continuar() == 'n':
        break # não quer continuar, sai do while

 

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...