Python Cursus. Hoofdstuk 10 - Strings
Uitwerkingen Opgaven
Terug naar de theorie en opgaven over StringsTerug naar de Afsluitende Opgaven over Strings
Terug naar de cursus pagina
Opgave 10.2.2 Newline
print( "Hoi \n hallo" )
Opgave 10.3.1 Letters uit een woord
woord = "fiets" print( woord[0] ) #eerste letter uit woord print( woord[ len(woord)-1 ]) #laatste letter uit woord
Opgave10.3.2a Dagen van de week verkort
dagenVanDeWeek = [ 'maandag', 'dinsdag', 'woensdag'] for dag in dagenVanDeWeek: print( dag[0]+dag[1] )
Opgave 10.3.2b Print klinkers uit woorden in een lijst
tekst = "Een Nederlander heeft programmeertaal Python bedacht." for letter in tekst: if letter in "aeiou": print( letter )of
tekst = "Een Nederlander heeft programmeertaal Python bedacht." for letter in tekst: if letter in ["a", "e", "i", "o", "u"]: print( letter )
Opgave 10.3.2c Aantal voorkomens in een woord
ingevoerde_woord = input( "Typ een woord:" ) letter_teller = 0 for letter in ingevoerde_woord: if( ingevoerde_woord[letter]=="e" ): letter_teller += 1 print("De letter e komt", letter_teller,"keer voor")
Opgave 10.4.1 strip()
Geen uitwerking beschikbaar.
Opgave 10.4.2 upper()
en lower()
tekst = "Humpty Dumpty zat op de muur" print( tekst.find( "zat" ) ) print( tekst.find( "t" ) ) print( tekst.find( "q" ) )
Opgave 10.4.3 find()
Code:
print( tekst.find( "Lang" ) ) print( tekst.find( "lang" ) ) print( tekst.find( "leven" ) ) print( tekst.find( "f" ) )Antwoord:
- "Lang" begint op index 0
- "lang" komt niet voor en levert daarom -1 op.
- "leven" begint op index 13
- "f" komt niet voor en levert daarom -1 op.
Opgave 10.4.4 replace()
Strings zijn onveranderbaar.
Met print( tekst.replace( "zat op" , "viel van" ) )
heb je wat veranderd en afgedrukt, maar de variabele tekst
heb je niet aangepast (Strings zijn onveranderbaar).Als je de verandering wilt onthouden moet je dat in een aparte variabele opslaan. Bijvoorbeeld met:
tekst2 = tekst.replace( "zat op" , "viel van" )
Opgave 10.5.1 Het alfabet afdrukken
De letter 'A' begint bij ASCII code 65. Dus die druk je als eerste af. Metchr()
maak je daar weer een letter van.
Met een for-loop druk je alle andere letters af die daarna komen.
for i in range( 26 ): letter = chr (i+65) print(letter, end=" ")
Afsluitende Opgaven
Afsluitende Opgave 10.1a While en for
for x in range(4): print("I love Python!") print("I love Computing")
Afsluitende Opgave 10.1 Scrabble
scrabble_woord = "Aquarium" q_teller = 0 #teller voor aantal voorkomens van Q #doorloop alle letters van het woord for letter in scrabble_woord: letter = letter.upper() #zet letter om in een hoofdletter if letter == "Q": #Q zit er in q_teller += 1 #teller ophogen score = q_teller * 10 #score berekenen print( "Er zitten " + str(q_teller) + " voorkomens van Q in het woord, dus score is "+ str(score) )
Afsluitende Opgave 10.2A Wachtwoord valideren
#FUNCTIE DEFINITIES #controleer of invoer minstens 8 karakters lang is def juisteLengte(invoer): if len(invoer) >= 8: print("lengte goed") return True else: print("wachtwoord is te kort, moet minstens 8 karakters zijn") return False #controleer of er een cijfer in voorkomt def juisteCijfer(invoer): for i in invoer: if i.isdigit(): print("cijfer gevonden", i) return True print("wachtwoord bevat geen cijfer") return False #vraag steeds om wachtwoord. def vraagWachtwoord(): invoer = input ("geef wachtwoord") while not juisteCijfer(invoer) or not juisteLengte(invoer): invoer = input ("geef wachtwoord") print("wachtwoord is OK!") return invoer #HOOFDPROGRAMMA wachtwoord = vraagWachtwoord() print("Je wachtwoord is: ", wachtwoord)
Afsluitende Opgave 10.2 Klinkerloos
#de klinkerloos functie: #We doorlopen alle letters uit de invoerstring en kopieren een letter alleen naar een nieuwe string als het geen klinker is #dan hoeven we daarna alleen de gekopieerde string return te geven: def klinkerloos( tekst ): #om het onszelf makkelijker te maken, converteren we eerst de hele invoer naar kleine letters #zo hoeven we niet ook op alle hoofdletters van de klinkers te checken tekst = tekst.lower() #maak een lege string voor de uitvoer: uitvoer = "" #doorloop de letters: for letter in tekst: if not(letter == "a" or letter == "o" or letter == "i" or letter == "y" or letter == "e" or letter == "u"): #het is geen klinker, dus verander de letter in een hoofdletter en kopieer hem naar de uitvoer: uitvoer = uitvoer + letter.upper() #de uitvoer string bevat nu de tekst zonder klinkers, dus die geven we terug: return uitvoer #testen van de functie: invoer = input("Geef een stuk tekst als invoer: ") print ( klinkerloos(invoer) )
Afsluitende Opgave 10.3 Palindroom
#de palindroom functie: #We doorlopen alle letters uit de invoerstring en kopieren alle letters naar een nieuwe string # maar dan wel in omgekeerde volgorde: def isPalindroom(tekst): #maak een lege string om de omgedraaide versie in op te bouwen: omgedraaid = "" #doorloop de letters: for letter in tekst: #door de letter er voor te plakken ipv er achter komt de string in omgekeerde volgorde: omgedraaid = letter + omgedraaid #check of de omgedraaide string hetzelfde is als de originele: if omgedraaid == tekst: return True else: return False invoer = input("Welk woord wil je checken op palindroom-heid): ") if isPalindroom(invoer) == True: print ("Het is een palindroom!") else: print ("Het is geen palindroom...")
Afsluitende Opgave 10.4 Caesar Encryptie
def versleutelen( klare_tekst, verschuiving): versleutelde_tekst = "" # houd mijn (tot nu toe) versleutelde bericht bij for letter in klare_tekst: # doorloop de tekst, letter voor letter ascii_raw = ord(letter) # zet letter om naar ascii versleutelde_ascii = (ascii_raw + verschuiving) # verschuif if versleutelde_ascii > 90: # als de ASCII code buiten bereik van 90 komt (voorbij 'Z'), dan moet je 26 terug tellen versleutelde_ascii -= 26 versleutelde_letter = chr(versleutelde_ascii) # zet ASCII code weer om naar letter versleutelde_tekst += versleutelde_letter # plak achteraan mijn (tot nu toe) versleutelde bericht print(versleutelde_tekst) versleutelen("ABCZ", 3) # testenHet ontsleutelen gaat op een vergelijkbare manier
Terug naar de theorie en opgaven over Strings
Terug naar de Afsluitende Opgaven over Strings
Terug naar de cursus pagina