[Python] Tem como fazer um cronômetro que quando zerado o tempo ele pare outros metodos em...

Discussão em 'Python' iniciado por Stack, Dezembro 16, 2024.

  1. Stack

    Stack Membro Participativo

    Minha pergunta é que.

    Da pra fazer com que um laço comum em FOR controle o tempo de execução de outros métodos dentro da classe.

    Exemplo:

    Resolva esse cálculo antes do tempo acabar!

    Estou fazendo um projeto que é um mine game em que o usuário lê uma frase e tem que escrevê-la corretamente. Porém falta definir um tempo limite para que o usuário escreva essa frase. Em POO, até então não encontrei uma solução viável para isso.

    Corpo do codigo:

    from time import sleep
    class Digitacao(Robot):
    def __init__(self,nome_do_usuario,nome,tipo,finalidade):
    super().__init__(nome,tipo,finalidade)
    self.__nome_do_usuario = nome_do_usuario

    def mostraDados(self):
    return f'''Olá {self.__nome_do_usuario},
    eu sou o robô {self._nome},
    sou um robô do tipo {self._tipo},
    e meu objetivo é {self._finalidade}.'''

    def Digitar(self):
    palavras_erradas = []
    frases = ['viver é desenhar sem borracha','para sempre é feito de agoras','jamais se acomode com aquilo que te incomoda','não conseguimos mudar coisa alguma sem antes aceitá-la','vai ser lindo quando você entender que quase nada nessa vida merece teu desgaste']
    cont = 0
    nivel = 1
    erros = 0
    inicio = input('Digite <iniciar> para começar o programa:').lower().strip()
    if inicio == 'iniciar':
    os.system('cls')
    for i in frases:
    print(f'Nível {nivel}')
    while True:
    print('Prepare-se')
    sleep(3)
    print('Agora!!!')
    frase = input(f'Digite a frase -> {i}: ').lower().strip()
    if frase == frases[cont]:
    print('Parabéns você acertou a frase!')
    cont += 1
    nivel += 1
    sleep(4)
    os.system('cls')
    break
    else:
    fc = frases[nivel-1].split()
    fd = frase.split()
    for x in range(0,len(fd)):
    if fc[x] != fd[x]:
    palavras_erradas.append(fd[x])
    print(f'As palavras digitadas erradas foram: \033[31m{palavras_erradas}\033[m')
    erros += 1
    palavras_erradas.clear()
    sleep(5)
    return f'{self.__nome_do_usuario} você errou {erros} vezes!'```

    Continue reading...

Compartilhe esta Página