Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision.

Förbi Sharlene Khan
Dela med sigTweetDela med sigDela med sigDela med sigE-post

Om du är en Python-nybörjare är denna enkla väckarklocka en utmärkt praktisk introduktion.

Det finns massor av övningar du kan använda för att stärka dina Python-färdigheter. En av dessa övningar är en väckarklocka, som du kan skriva som en enda skriptfil. Du kan också köra det med hjälp av en kommandotolk.

I väckarklockans skript måste användaren ställa in den tid de vill att larmet ska gå. Python-skriptet kommer sedan att visa ett "Väckningsmeddelande" för användaren när larmet går.

Du kan också lägga till en nedräkning för att visa användaren hur länge de måste vänta tills larmet går.

Hur man ställer in larmet

Skapa ett Python-skript och lägg till de första utskrivna uttalandena för att fråga användaren när de vill ställa in larmet. Om du inte är bekant med en del av Python-syntaxen kan du titta på några

instagram viewer
grundläggande python-exempel för att hjälpa dig förstå grunderna.

  1. Skapa en ny fil och anropa den alarm.py.
  2. Öppna Python-skriptet med valfri textredigerare som Notepad++.
  3. Överst i filen importerar du både datum- och tidsmodulerna. Programmet kommer att använda dessa när det beräknar hur länge det behöver vänta tills larmet går. Du kan använda Pythons tidsmodul att fördröja verkställigheten, bland annat.
    importera datum Tid
    importera tid
  4. Lägg till en while-loop. Inuti while-loopen, be användaren att ange en giltig alarmtid, i formatet [timme: minut]. While-slingan kommer att upprepas om användaren anger ett ogiltigt nummer.
    ogiltig = Sann

    medan(ogiltig):
    # Få en giltig användarinmatning för alarmtiden
    skriva ut("Uppsättning en giltig tidför larmet (ex. 06:30)")
    userInput = input(">>")

  5. Inuti while-loopen konverterar du användarens indata till en array som skiljer timvärdet från minutvärdet.
    # Till exempel kommer detta att konvertera 6:30 till en array av [6, 30].
    alarmTime = [int (n) för n i userInput.split(":")]
  6. Fortfarande inne i while-slingan, validera både tim- och minutvärdena. Timmen ska vara ett tal mellan 0 och 23, och minuten ska vara ett tal mellan 0 och 59. Om dessa villkor inte är uppfyllda kommer den ogiltiga boolean att göra att while-loopen upprepas och användaren uppmanas att ange ett nytt värde.
    # Validera den angivna tiden till att vara mellan 0 och 24 (timmar) eller 0 och 60 (minuter)
    if alarmTime[0] >= 24 eller alarmTime[0] < 0:
    ogiltig = Sann
    elif alarmTime[1] >= 60 eller alarmTime[1] < 0:
    ogiltig = Sann
    annan:
    ogiltig = Falsk

Hur man räknar hur länge man ska vänta tills larmet går

Vänta tills larmet går genom att räkna hur många sekunder programmet måste vänta.

  1. Under while-slingan konverterar du alarmtiden till den sekund som den är under dagen. Som referens, det finns 86400 sekunder på en dag. Om användaren anger 00:01 (en minut efter midnatt) blir alarmtiden i sekunder 60. Om användaren anger 23:59 blir alarmtiden i sekunder 86340.
    # Antal sekunder i en timme, minut och sekund
    sekunder_hms = [3600, 60, 1]
    # Konvertera alarmtiden till sekunder
    alarmSeconds = summa([a*b för a, b i zip (seconds_hms[:len (alarmTime)], alarmTime)])
  2. Använd funktionen datetime.now() för att bestämma den aktuella tiden. Konvertera aktuell tid på dagen i sekunder.
    nu = datetime.datetime.now()
    currentTimeInSeconds = summa([a*b för a, b i zip (seconds_hms, [now.hour, now.minute, now.second])])
  3. Beräkna antalet sekunder tills larmet går.
    secondsUntilAlarm = alarmSeconds - currentTimeInSeconds
  4. Om tiden annorlunda är negativ betyder det att larmet måste ställas in för nästa dag.
    om sekunderUntilAlarm < 0:
    sekunderUntilAlarm += 86400# antal sekunder på en dag
  5. Visa ett meddelande för användaren för att låta dem veta att larmet har ställts in.
    print("Alarm är uppsättning!")
    skriva ut("Alarmet ringer vid %s" % datetime.timedelta (seconds=secondsUntilAlarm))

Hur man ringer larmet

För att ringa alarmet, vänta i de återstående sekunderna innan du skriver ut ett "Vakna!" meddelande till användaren.

  1. Använd time.sleep för att vänta i det antal sekunder som krävs tills larmet måste gå.
    tid.sova(sekunderUntilAlarm)
  2. Visa meddelandet "Vakna" för användaren när larmet går.
    skriva ut("Ring Ring... dags att vakna!")

Hur man lägger till en nedräkning innan larmet ringer

För att lägga till en nedräkning för varje sekund, använd en for-loop för att skriva ut sekunderna som är kvar till användaren.

  1. Byt ut tids.sömnlinjen. Lägg till en for-loop för varje sekund tills larmet går, och visa sekunderna som är kvar för användaren.
    för i inom intervallet (0, sekunderUntilAlarm):
    tid.sova(1)
    sekunderUntilAlarm -= 1
    skriva ut(datetime.timedelta (seconds=secondsUntilAlarm))

Hur man kör väckarklockan

Kör skriptet genom att navigera till filen med hjälp av kommandoraden. Använd kommandot python för att starta skriptet och ställ in en alarmtid.

  1. Öppna en kommandotolk eller terminal. Navigera till platsen för din alarm.py-fil. Till exempel, om du har lagrat din Python-fil på skrivbordet, använd cd Desktop.
    CD Skrivbord
  2. Använd kommandot python för att köra Python-skriptet.
    pytonormlarm.py
  3. Ställ in en giltig tid för alarmet, i formatet [timme: minut]. Till exempel 4:30.
  4. Larmet ställs in och startar en nedräkning för varje sekund tills larmet måste gå. Vänta tills alarmet har räknat ner.
  5. När programmet har slutfört nedräkningen kommer programmet att visa ett meddelande för att visa att larmet ringer.

Skapa enkla program med Python

En väckarklocka är en bra övning som du kan träna för att vässa dina Python-färdigheter. Du kan skriva väckarklockans app i en enda skriptfil och köra den med en kommandorad. Vid körning kommer programmet att be användaren att ange en giltig tid för att ställa in larmet.

När larmet är inställt, beräkna hur många sekunder du behöver vänta tills väckarklockan går. Låt programmet vänta så länge innan du visar ett meddelande till användaren när larmet går.

Du kan också återskapa denna larmövning på andra språk. Du kan lära dig hur du skapar en digital klocka med HTML, CSS och JavaScript.

Hur man skapar en digital klocka med HTML, CSS och JavaScript

Läs Nästa

Dela med sigTweetDela med sigDela med sigDela med sigE-post

Relaterade ämnen

  • Programmering
  • Programmering
  • Pytonorm
  • Handledning för kodning

Om författaren

Sharlene Khan (52 publicerade artiklar)

Shay arbetar heltid som mjukvaruutvecklare och tycker om att skriva guider för att hjälpa andra. Hon har en kandidatexamen i IT och har tidigare erfarenhet av kvalitetssäkring och handledning. Shay älskar att spela och spela piano.

Mer från Sharlene Khan

Kommentar

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera