Tässä artikkelissa opit hallitsemaan silmukan suoritusta käyttämällä silmukan ohjauslausekkeita, kuten tauko ja jatka.
Python-ohjelmointi tarjoaa kahdenlaisia silmukoita, for-silmukka ja while-silmukka. Käyttämällä näitä silmukoita yhdessä silmukkaohjauslausekkeiden kanssa, kuten tauko ja jatko, voimme luoda erilaisia silmukan muotoja.
Ääretön silmukka
Voimme luoda ääretön silmukka while-lauseella. Jos while-silmukan ehto on aina True
, saamme loputon silmukka.
Esimerkki # 1: Ääretön silmukka käyttäen while
# An example of infinite loop # press Ctrl + c to exit from the loop while True: num = int(input("Enter an integer: ")) print("The double of",num,"is",2 * num)
Tuotos
Syötä kokonaisluku: 3 Kaksinkertainen 3 on 6 Syötä kokonaisluku: 5 Kaksinkertainen 5 on 10 Syötä kokonaisluku: 6 Kaksinkertainen 6 on 12 Syötä kokonaisluku: Traceback (viimeisin puhelu viimeinen):
Silmukka kunnossa ylhäällä
Tämä on normaali silmukka ilman katkaisulausekkeita. While-silmukan tila on yläosassa ja silmukka päättyy, kun tämä ehto on False
.
Vuokaavio silmukasta, jonka kunto ylhäällä
Esimerkki # 2: Silmukka, jonka yläosassa on ehto
# Program to illustrate a loop with the condition at the top # Try different numbers n = 10 # Uncomment to get user input #n = int(input("Enter n: ")) # initialize sum and counter sum = 0 i = 1 while i <= n: sum = sum + i i = i+1 # update counter # print the sum print("The sum is",sum)
Kun suoritat ohjelmaa, tulos on:
Summa on 55
Silmukka kunnossa keskellä
Tällainen silmukka voidaan toteuttaa käyttämällä ääretöntä silmukkaa sekä ehdollinen tauko silmukan rungon välillä.
Vuorokaavio silmukasta, kunto keskellä
Esimerkki # 3: Silmukka, jonka keskellä on ehto
# Program to illustrate a loop with condition in the middle. # Take input from the user untill a vowel is entered vowels = "aeiouAEIOU" # infinite loop while True: v = input("Enter a vowel: ") # condition in the middle if v in vowels: break print("That is not a vowel. Try again!") print("Thank you!")
Tuotos
Syötä vokaali: r Se ei ole vokaali. Yritä uudelleen! Syötä vokaali: 6 Se ei ole vokaali. Yritä uudelleen! Kirjoita vokaali:, Se ei ole vokaali. Yritä uudelleen! Kirjoita vokaali: u Kiitos!
Silmukka kunnossa alaosassa
Tällainen silmukka varmistaa, että silmukan runko suoritetaan ainakin kerran. Se voidaan toteuttaa käyttämällä ääretöntä silmukkaa ja ehdollista taukoa lopussa. Tämä on samanlainen kuin do… taas silmukka C: ssä.
Vuorokaavio silmukasta, jonka kunto on alhaalla
Esimerkki # 4: Silmukka, jonka alaosassa on ehto
# Python program to illustrate a loop with condition at the bottom # Roll a dice untill user chooses to exit # import random module import random while True: input("Press enter to roll the dice") # get a number between 1 to 6 num = random.randint(1,6) print("You got",num) option = input("Roll again?(y/n) ") # condition if option == 'n': break
Tuotos
Paina Enter enterksesi noppaa. Sinulla on 1 rulla uudestaan? (Y / n) y Paina Enter rullaaksesi noppaa. Sinulla on 5 rullaa uudestaan? (Y / n) n