Python‐introduction‐to‐programming 3 - itnett/FTD02H-N GitHub Wiki
Koden bruker en while
-løkke til å skrive ut tall fra og med 100, og øker verdien av i
med 20 for hver iterasjon helt til i
overskrider 200. La oss gå gjennom hvert trinn for å forstå hva som skjer:
-
i = 100
:- Variabelen
i
blir initialisert med verdien 100. Dette betyr at første gangen løkken starter, vil verdien avi
være 100.
- Variabelen
-
while i <= 200:
:- Dette er en betinget løkke. Den vil kjøre så lenge betingelsen er sann, altså så lenge
i
er mindre enn eller lik 200. Hvisi
overskrider 200, vil løkken stoppe.
- Dette er en betinget løkke. Den vil kjøre så lenge betingelsen er sann, altså så lenge
-
print(i)
:- Inne i løkken blir verdien av
i
skrevet ut i konsollen.
- Inne i løkken blir verdien av
-
i += 20
:- Etter at verdien av
i
er skrevet ut, bliri
økt med 20 (altså, vi legger 20 til den eksisterende verdien avi
). Dette er en kortform fori = i + 20
.
- Etter at verdien av
- Når koden starter, er
i
lik 100. Siden 100 er mindre enn eller lik 200, vil den gå inn i løkken. - Koden vil skrive ut verdien 100, deretter øker
i
til 120. - Løkken kjører på nytt, skriver ut 120, øker
i
til 140, og fortsetter slik tili
når 220. - Når
i
blir 220, stopper løkken siden betingelseni <= 200
ikke lenger er sann.
Denne løkken vil skrive ut følgende tall:
100
120
140
160
180
200
i = 100
while i <= 200:
print(i)
i += 20
- While-løkker i Python er nyttige når du ønsker å gjenta en oppgave flere ganger, men ikke vet nøyaktig hvor mange ganger løkken skal kjøre på forhånd.
- I dette tilfellet fortsetter løkken helt til
i
blir større enn 200. Når løkken er ferdig, avsluttes programmet.
Koden bruker en while-løkke som kjører basert på en betingelse. Den skriver ut tall fra 100 til 200 i trinn på 20.
Her er en tabell som viser hvordan små endringer i koden kan gi ulike resultater. Vi starter med det opprinnelige skriptet og utforsker noen muligheter for modifikasjoner, samt hvilken effekt det har på utfallet.
Endring | Forklaring | Modifisert kode | Forventet resultat |
---|---|---|---|
Original kode | Starter på 100, øker med 20, stopper ved 200. |
i = 100 while i <= 200: print(i) i += 20
|
Skriv ut: 100 120 140 160 180 200 |
Endre startverdi | Starter på 50 i stedet for 100. |
i = 50 while i <= 200: print(i) i += 20
|
Skriv ut: 50 70 90 110 130 150 170 190 |
Endre økningen per iterasjon | Øker med 10 i stedet for 20. |
i = 100 while i <= 200: print(i) i += 10
|
Skriv ut: 100 110 120 130 140 150 160 170 180 190 200 |
Endre økningen til å telle nedover | Øker med -20 for å telle ned. |
i = 200 while i >= 100: print(i) i -= 20
|
Skriv ut: 200 180 160 140 120 100 |
Endre betingelsen (endre stoppverdi) | Kjører løkken helt til i > 150 . |
i = 100 while i <= 150: print(i) i += 20
|
Skriv ut: 100 120 140 |
Endre print-funksjonen | Legger til tekst i utskriften for å gjøre det tydeligere. |
i = 100 while i <= 200: print(f"Verdi: {i}") i += 20
|
Skriv ut: Verdi: 100 Verdi: 120 Verdi: 140 Verdi: 160 Verdi: 180 Verdi: 200 |
Øke til større verdier | Starter på 100 og øker med 50. |
i = 100 while i <= 500: print(i) i += 50
|
Skriv ut: 100 150 200 250 300 350 400 450 500 |
Legg til en betingelse inni løkken | Stopper hvis i er 160. |
i = 100 while i <= 200: if i == 160: break print(i) i += 20
|
Skriv ut: 100 120 140 |
-
Startverdi: Ved å endre startverdien (
i = 50
) starter vi fra en lavere verdi, og løkken teller opp fra 50 til 200. - Økning per iterasjon: Hvis vi øker med 10 i stedet for 20, får vi flere verdier mellom 100 og 200.
-
Nedtelling: Med en negativ økning (f.eks.
i -= 20
), teller vi nedover fra 200 til 100. -
Stoppe tidligere: Ved å endre betingelsen til
i <= 150
, vil løkken stoppe før 200. - Print med tekst: Å legge til tekst i print-funksjonen gir mer kontekst til utskriften.
-
Legge til betingelser i løkken: For eksempel kan vi stoppe løkken hvis
i
når en viss verdi, ved å brukeif
ogbreak
.
Denne tabellen gir et godt grunnlag for å se hvordan små modifikasjoner i koden kan gi helt forskjellige resultater.
Når vi bruker .capitalize()
-metoden i Python, blir kun den første bokstaven i strengen gjort om til stor bokstav, og resten av strengen blir konvertert til små bokstaver. Dette skjer fordi .capitalize()
er laget for å sikre at bare det første tegnet i en streng er en stor bokstav, mens alle andre tegn (hvis de er bokstaver) blir gjort til små bokstaver.
Hvis du ønsker å gjøre alle bokstavene til store bokstaver, må du bruke en annen metode, nemlig .upper()
.
Her er en tabell som viser forskjellige måter å manipulere bokstaver i strenger med .capitalize()
og andre relevante strengefunksjoner:
Funksjon | Beskrivelse | Eksempel på kode | Resultat |
---|---|---|---|
.capitalize() |
Gjør første bokstav i strengen til stor, og resten små. | "i am learning Python".capitalize() |
"I am learning python" |
.upper() |
Gjør alle bokstaver i strengen til store bokstaver. | "i am learning Python".upper() |
"I AM LEARNING PYTHON" |
.lower() |
Gjør alle bokstaver i strengen til små bokstaver. | "i am learning Python".lower() |
"i am learning python" |
.title() |
Gjør første bokstav i hvert ord til stor bokstav. | "i am learning Python".title() |
"I Am Learning Python" |
.swapcase() |
Bytter om mellom store og små bokstaver. | "i am learning Python".swapcase() |
"I AM LEARNING pYTHON" |
-
.capitalize()
: Kun første bokstav i strengen blir stor, resten blir små. -
.upper()
: Alle bokstaver blir gjort om til store bokstaver. -
.lower()
: Alle bokstaver blir gjort om til små bokstaver. -
.title()
: Første bokstav i hvert ord blir gjort om til stor bokstav, som ofte brukes for titler. -
.swapcase()
: Bytter om alle bokstaver – store bokstaver blir små, og små bokstaver blir store.
-
.capitalize()
"hello world".capitalize()
Resultat:
"Hello world"
-
.upper()
"hello world".upper()
Resultat:
"HELLO WORLD"
-
.lower()
"HELLO WORLD".lower()
Resultat:
"hello world"
-
.title()
"hello world".title()
Resultat:
"Hello World"
-
.swapcase()
"Hello World".swapcase()
Resultat:
"hELLO wORLD"
Ved å bruke forskjellige metoder kan du manipulere strenger på ulike måter avhengig av hva du ønsker å oppnå.
I Python er det en forskjell mellom &
og &&
, og de brukes på ulike måter:
-
&
brukes som en bitvis operator (bitwise operator) i Python, som opererer på hver enkelt bit i tall. Den brukes også til å finne mengdeinterseksjon (intersection) mellom sett (sets), slik som vi så i eksempelet du ga tidligere. - Brukes for bitvise operasjoner eller mengdeoperasjoner.
# Mengdeinterseksjon
s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7}
print(s1 & s2) # Output: {4, 5}
# Bitvis operasjon
a = 12 # Binary: 1100
b = 10 # Binary: 1010
print(a & b) # Output: 8 (Binary: 1000)
- I språk som C, C++, Java og bash (Debian apt), brukes
&&
som en logisk AND-operator. Den sjekker om begge uttrykkene på hver side er sanne, og hvis de er det, returnerer denTrue
. -
Men Python bruker ikke
&&
for logiske operasjoner. Python bruker i stedet det engelske ordetand
for logiske sammenligninger.
x = True
y = False
print(x and y) # Output: False (begge må være sanne for å gi True)
I stedet for &&
, bruker Python det engelske ordet and
for å uttrykke logisk AND-operasjon.
x = 5
y = 10
# Logisk AND, returnerer True bare hvis begge forholdene er sanne
if x < 10 and y > 5:
print("Begge forholdene er sanne") # Output: "Begge forholdene er sanne"
-
&
: Bitwise AND-operator eller brukes til å finne mengdeinterseksjon (intersection) i Python. -
&&
: Finnes ikke i Python. I stedet brukesand
for logiske operasjoner (logisk AND).
Debian &&
kommandoer:
Når du bruker &&
i Debian for å kjede sammen kommandoer som:
sudo apt update && sudo apt upgrade
Dette betyr at den andre kommandoen (sudo apt upgrade
) bare utføres hvis den første kommandoen (sudo apt update
) er vellykket. Det er logisk AND i bash.
I Python kan du oppnå tilsvarende oppførsel ved å bruke logisk and
i betingelser eller funksjonskall.
# Eksempel på Python-logikk:
if do_update() and do_upgrade():
print("Begge operasjonene var vellykkede")