Emulere do-mens-sløyfen i Python

Emulere do-mens-sløyfen i Python
De fleste av standardprogrammeringsspråk har tre typer løkker for å iterere noen uttalelser flere ganger. Dette er mens Loop, for Loop og Do-While Loop. Mens og for loop er tilgjengelig i Python, men Python har ingen do-hele loop. Do-mens Loop kan implementeres ved å bruke en annen sløyfe. I do-mens-sløyfen testes tilstanden etter å ha satt inn løkken. Så uttalelsene fra do-loop-utførelsen minst en gang selv om tilstanden kanskje ikke blir matchet. Måtene å etterligne do-mens Loop i Python har blitt vist i denne opplæringen.

Implementere en do-mens-loop ved hjelp av mens loopen

Mens sløyfe kan brukes på forskjellige måter for å implementere funksjonaliteten til do-mens Loop. Generelt, mens Loop sjekker tilstanden i begynnelsen av løkken for å starte iterasjonen. Så hvis tilstanden er satt til sann, vil mens Loop vil fungere som Do-While Loop. Denne typen mens sløyfe vil fungere som den uendelige sløyfen og sløyfen vil bli avsluttet basert på den spesielle tilstanden. Syntaksen til denne typen sløyfe er gitt nedenfor.

Syntaks:

Mens sant:
uttalelser ..
Hvis tilstand:
gå i stykker

eller

tilstand = sant
Mens tilstand:
uttalelser ..
Tilbakestill tilstand

Uttalelsene av ovennevnte sløyfe vil bli utført minst en gang som gjør mens sløyfe og sløyfen vil iterere til den samsvarer med 'hvis' tilstand, og utfører 'gå i stykker' uttalelse eller samsvarer med den spesielle tilstanden. Forskjellige bruksområder av samtidig som sløyfe for å implementere logikken til gjør mens I Python er det vist ved å bruke forskjellige eksempler.

Eksempel-1: Emulere do-mens-sløyfen ved å bruke While Loop

Lag en Python -fil med følgende skript for å skrive ut tallene fra 30 til 10 med intervallet på 5 ved å bruke en stundsløyfe. Her er løkkenes tilstand satt til ekte å starte iterasjonen av loopen. De Antall Variabel initialiseres til 30 før du starter utførelsen av løkken. Verdien av antallet vil bli redusert med 5 i hver iterasjon av loopen. Når verdien av tallet nådde 10, så er 'gå i stykker' Uttalelsen vil bli utført og avsluttet fra løkken.

#Initialiser et tall
nummer = 30
#Declare uendelig mens du er loop
Mens sant:
#Trykk gjeldende verdi på et tall
Print ("Gjeldende verdien av tallet er % d" % antall)
#Decrement tallverdien
nummer = nummer - 5
#Sjekk tilstanden for å avslutte fra løkken
Hvis nummer <= 10:
gå i stykker

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-2: Emulere do-mens-sløyfen ved å bruke mens sløyfen uten "hvis" -tilstanden

Opprett en Python -fil med følgende skript for å ta et nummer fra brukeren gjentatte ganger til brukeren gir et nummer som er større enn eller lik 50. De Sjekk Variabel er satt til ekte å starte iterasjonen av samtidig som sløyfe som gjør mens Løkke. Verdien av denne variabelen er endret på slutten av løkken for å avslutte sløyfen.

#Sett tilstanden for løkken
Sjekk = sant
#Declare The Loop
Mens sjekk:
#Ta en tallverdi fra brukeren
nummer = int (input ("Angi en tallverdi:"))
#Trykk verdien hentet fra brukeren
Print ("Antallet er % D" % nummer)
#Resett tilstanden for løkken
sjekk = nummer> = 50

Produksjon:

Følgende utgang vises for inngangsverdiene på 70, 55 og 30 etter å ha utført skriptet ovenfor.

Eksempel-3: etterligne do-mens Loop ved hjelp av en stundsløyfe med flere brudduttalelser

Opprett en Python -fil med følgende skript for å ta brukernavnet og passordet for autentiseringen, og brukeren kan oppgi brukernavn og passord i maksimalt tre ganger hvis han/hun ikke kan autentisere i tidligere forsøk. Den første 'gå i stykker' Uttalelsen vil bli utført og avsluttet fra løkken hvis det har tatt brukernavn og passord er gyldig. Den andre 'gå i stykker' Uttalelsen vil bli utført og avsluttet fra løkken hvis feil brukernavn eller passord blir gitt tre ganger.

teller = 3
#Define mens du er sløyfe
Mens sant:
#Takinndata fra brukeren
Brukernavn = input ("Enter brukernavn:")
Passord = Input ("Skriv inn passord:")
"Sjekk brukernavnet og passordet
og avslutt fra løkken for den gyldige brukeren
""
Hvis brukernavn == 'admin' og passord == 'hemmelig':
Skriv ut ('Gyldig bruker.')
gå i stykker
ellers:
#Decrement the Counter Value
teller = teller - 1
#Sjekk tellerverdien for å avslutte fra løkken
Hvis teller == 0:
gå i stykker
#Trykk feilmeldingen
utskrift ("Brukernavn eller passord er feil")
#Trykk antall påloggingsforsøk igjen
trykk ("Du har %d påloggingsforsøk igjen." % disk)

Produksjon:

Følgende utdata vises for å gi et ugyldig og gyldig brukernavn og passord etter å ha utført skriptet ovenfor.

Eksempel-4: etterligne do-mens-sløyfen ved å bruke While Loop ved hjelp av et tilfeldig tall

Lag en Python -fil med følgende skript for å generere et tilfeldig heltall innen 10 til 99 og avslutte sløyfen basert på den tilfeldige verdien. Tre 'gå i stykker' Uttalelser er lagt til i skriptet for å avslutte sløyfen basert på tre forhold.

#IMPORT RANDINT MODUL
Fra tilfeldig import Randint
#Definer sløyfen
Mens sant:
#Generate et tilfeldig tall
nummer = randint (10, 99)
#Trykk nummeret
utskrift ('generert tall er %d' %antall)
#Fortsett sløyfen hvis tallet er mindre enn 60
Hvis nummer < 60:
trykk ('Du kan prøve igjen.')
#Terminen fra løkken hvis tallet er mindre enn 70
ELIF -nummer < 70:
trykk ('Du vant 3. pris.')
gå i stykker
#Terminen fra løkken hvis tallet er mindre enn 80
ELIF -nummer < 80:
trykk ('Du vant 2. pris.')
gå i stykker
#Terminen fra løkken hvis tallet er mer enn eller lik 80
ellers:
trykk ('Du vant den første prisen.')
gå i stykker

Produksjon:

Følgende lignende utdata vises etter å ha utført skriptet ovenfor. Skriptet er utført fire ganger og fire typer utganger er generert basert på tilfeldig verdi.

Konklusjon

Ulike måter å implementere på en do-mens sløyfe i python ved å bruke en samtidig som Loop har blitt vist i denne opplæringen ved hjelp av enkle eksempler for å hjelpe Python -brukerne. 'til' Loop kan også brukes til å gjøre den samme oppgaven.