Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado.
Se você é iniciante em Python, este despertador simples é uma excelente introdução prática.
Há muitos exercícios que você pode usar para fortalecer suas habilidades em Python. Um desses exercícios é um despertador, que você pode escrever como um único arquivo de script. Você também pode executá-lo usando um prompt de comando.
No script do despertador, o usuário precisa definir a hora que deseja que o alarme toque. O script Python exibirá uma mensagem "Wake up" para o usuário quando o alarme disparar.
Você também pode adicionar uma contagem regressiva para mostrar ao usuário quanto tempo ele tem que esperar até que o alarme dispare.
Como definir o alarme
Crie um script Python e adicione as primeiras instruções impressas para perguntar ao usuário quando ele gostaria de definir o alarme. Se você não estiver familiarizado com algumas das sintaxes do Python, você pode ver algumas
exemplos básicos de python para ajudá-lo a entender os fundamentos.- Crie um novo arquivo e chame-o alarme.py.
- Abra o script Python usando qualquer editor de texto, como o Notepad++.
- Na parte superior do arquivo, importe os módulos datetime e time. O programa os usará ao calcular quanto tempo precisa esperar até que o alarme dispare. Você pode usar Módulo de tempo do Python atrasar a execução, entre outras ações.
importar data hora
importar tempo - Adicione um loop while. Dentro do loop while, peça ao usuário para inserir um horário de alarme válido, no formato [hora: minuto]. O loop while será repetido se o usuário inserir um número inválido.
inválido = Verdadeiro
enquanto(inválido):
# Obtenha uma entrada de usuário válida para a hora do alarme
imprimir("Definir um válido tempopara o alarme (Ex. 06:30)")
userInput = input(">>") - Dentro do loop while, converta a entrada do usuário em uma matriz que separa o valor da hora do valor do minuto.
# Por exemplo, isso converterá 6:30 em uma matriz de [6, 30].
alarmTime = [int (n) para n em userInput.split(":")] - Ainda dentro do loop while, valide os valores de hora e minuto. A hora deve ser um número entre 0 e 23 e o minuto deve ser um número entre 0 e 59. Se essas condições não forem atendidas, o booleano inválido fará com que o loop while se repita e peça ao usuário para inserir um novo valor.
# Valide a hora digitada entre 0 e 24 (horas) ou 0 e 60 (minutos)
if alarmeTime[0] >= 24 ou alarmTime[0] < 0:
inválido = Verdadeiro
elif alarmTime[1] >= 60 ou alarmTime[1] < 0:
inválido = Verdadeiro
outro:
inválido = Falso
Como contar quanto tempo esperar até o alarme disparar
Aguarde até que o alarme dispare contando quantos segundos o programa terá que esperar.
- Abaixo do loop while, converta a hora do alarme para o segundo durante o dia. Para referência, há 86400 segundos em um dia. Se o usuário inserir 00:01 (um minuto depois da meia-noite), a hora do alarme em segundos será 60. Se o usuário digitar 23:59, a hora do alarme em segundos será 86340.
# Número de segundos em uma hora, minuto e segundo
segundos_hms = [3600, 60, 1]
# Converta a hora do alarme em segundos
alarmSeconds = sum([a*b for a, b in zip (seconds_hms[:len (alarmTime)], alarmTime)]) - Use a função datetime.now() para determinar a hora atual. Converta a hora atual do dia em segundos.
agora = datetime.datetime.now()
currentTimeInSeconds = sum([a*b for a, b in zip (seconds_hms, [now.hour, now.minute, now.second])]) - Calcule o número de segundos até o alarme disparar.
secondsUntilAlarm = alarmSeconds - currentTimeInSeconds
- Se a diferença horária for negativa, significa que o alarme precisa ser acertado para o dia seguinte.
se segundosAtéAlarm < 0:
segundosAtéAlarme += 86400# número de segundos em um dia - Exibir uma mensagem para o usuário para que ele saiba que o alarme foi definido com sucesso.
print("Alarme é definir!")
imprimir("O alarme tocará em %s" % datetime.timedelta (seconds=secondsUntilAlarm))
Como Tocar o Alarme
Para tocar o alarme, aguarde os segundos restantes antes de imprimir um "Acorde!" mensagem ao usuário.
- Use time.sleep para aguardar a quantidade de segundos necessária até que o alarme precise disparar.
tempo.dormir(segundos Até Alarme)
- Exibir a mensagem "Wake up" para o usuário quando o alarme disparar.
imprimir("Toque Toque... Hora de acordar!")
Como adicionar uma contagem regressiva antes do alarme tocar
Para adicionar uma contagem regressiva para cada segundo, use um loop for para imprimir os segundos restantes para o usuário.
- Substitua a linha time.sleep. Adicione um loop for para cada segundo até que o alarme dispare e exiba os segundos restantes para o usuário.
para i no intervalo (0, secondsUntilAlarm):
tempo.dormir(1)
segundosAtéAlarme -= 1
imprimir(datetime.timedelta (seconds=secondsUntilAlarm))
Como executar o programa despertador
Execute o script navegando até o arquivo usando a linha de comando. Use o comando python para iniciar o script e definir um horário de alarme.
- Abra um prompt de comando ou terminal. Navegue até o local do arquivo alarm.py. Por exemplo, se você armazenou seu arquivo Python na área de trabalho, use cd Desktop.
cd Área de Trabalho
- Use o comando python para executar o script Python.
Pitãoalarme.py
- Defina uma hora válida para o alarme, no formato [hora: minuto]. Por exemplo, 4:30.
- O alarme será definido e iniciará uma contagem regressiva para cada segundo até que o alarme precise disparar. Aguarde até que o alarme termine a contagem regressiva.
- Assim que o programa concluir a contagem regressiva, o programa exibirá uma mensagem para mostrar que o alarme está tocando.
Crie Programas Simples Usando Python
Um despertador é um bom exercício que você pode praticar para aprimorar suas habilidades em Python. Você pode escrever o aplicativo de despertador em um único arquivo de script e executá-lo usando uma linha de comando. Em tempo de execução, o programa solicitará que o usuário insira um horário válido para definir o alarme.
Depois de definir o alarme, calcule quantos segundos você precisará esperar até que o despertador toque. Faça o programa esperar esse tempo antes de exibir uma mensagem ao usuário quando o alarme disparar.
Você também pode recriar este exercício de alarme em outros idiomas. Você pode aprender a criar um relógio digital usando HTML, CSS e JavaScript.