Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:programmieren_repetitionsdossier [2023-06-07 10:50] – [2.33 Aufgabe] gragf_informatik:programmieren_repetitionsdossier [2024-09-23 06:20] (aktuell) – [1.6 Aufgabe] hof
Zeile 69: Zeile 69:
 Der Benutzer wird aufgefordert, eine beliebige dreistellige Zahl einzugeben. Dem Benutzer wird zuerst einmal mitgeteilt ob er überhaupt eine Zahl eingegeben hat. Falls ja, wird weiter mitgeteilt, ob die eingegebene Zahl das Kriterium erfüllt. Der Benutzer wird aufgefordert, eine beliebige dreistellige Zahl einzugeben. Dem Benutzer wird zuerst einmal mitgeteilt ob er überhaupt eine Zahl eingegeben hat. Falls ja, wird weiter mitgeteilt, ob die eingegebene Zahl das Kriterium erfüllt.
  
-//Tipp:// Mit `type(x)` kann der Typ einer Variablen (z.B. int oder str) ermittelt werden.+//Tipp:// Mit `type(x)` kann der Typ der Variable `x` (z.B. `intoder `str`) ermittelt werden.
  
 <nodisp 2> <nodisp 2>
Zeile 81: Zeile 81:
  
 Bestimme das Produkt von allen Zahlen von 50 bis und mit 100. Bestimme das Produkt von allen Zahlen von 50 bis und mit 100.
 +
 +Die Lösung ist `153425937812748301860136522976473486961422986084234447972389349349107947938617753600000000000000`.
  
 <nodisp 2> <nodisp 2>
Zeile 101: Zeile 103:
    * Fakultät von negativen Zahlen ist nicht definiert.    * Fakultät von negativen Zahlen ist nicht definiert.
  
-Der Benutzer wird aufgefordert eine Zahl einzugeben. Von dieser Zahl wird die Fakultät berechnet und ausgegeben. Stelle sicher, dass die Spezialfälle ($0,1,negative Zahlen) auch korrekt verarbeitet werden.+Der Benutzer wird aufgefordert eine Zahl einzugeben. Von dieser Zahl wird die Fakultät berechnet und ausgegeben. Stelle sicher, dass die Spezialfälle (0,1, negative Zahlen) auch korrekt verarbeitet werden.
  
  
Zeile 226: Zeile 228:
 </code> </code>
  
-<nodisp 2>+<nodisp 1>
 ++++Lösung| ++++Lösung|
 <code python> <code python>
Zeile 409: Zeile 411:
 Schreibe eine Funktion `shopping_calculator(anz,pri)` die berechnet, wieviel der Einkauf kostet. Dieser Wert wird zurückgegeben. Für das obige Beispiel, also mit `shopping_calculator([6,4,1],[0.85,1.20,2.50])`, soll man das Ergebnis $12.40$ erhalten. Schreibe eine Funktion `shopping_calculator(anz,pri)` die berechnet, wieviel der Einkauf kostet. Dieser Wert wird zurückgegeben. Für das obige Beispiel, also mit `shopping_calculator([6,4,1],[0.85,1.20,2.50])`, soll man das Ergebnis $12.40$ erhalten.
  
-<nodisp 2>+<nodisp 1>
 ++++Lösung| ++++Lösung|
 <code python> <code python>
Zeile 431: Zeile 433:
 Schreibe eine Funktion `find_42(L)` die zählt, wie oft die Zahl $42$ in der Liste L vorkommt und diese Anzahl zurückgibt. Verwende keine vordefinierten Funktionen. Schreibe eine Funktion `find_42(L)` die zählt, wie oft die Zahl $42$ in der Liste L vorkommt und diese Anzahl zurückgibt. Verwende keine vordefinierten Funktionen.
  
-<nodisp 2>+<nodisp 1>
 ++++Lösung| ++++Lösung|
 <code python> <code python>
Zeile 884: Zeile 886:
  
 ==== - Aufgabe ==== ==== - Aufgabe ====
-  - Schreibe eine Funktion namens ''sortiere(li)'', die eine unssortierte Liste als Parameter annimmt und diese sortiert zurückgibt. +  - Schreibe eine Funktion namens ''sortiere(li)'', die eine unsortierte Liste als Parameter annimmt und diese sortiert zurückgibt. 
   - Kopiere die unsortierte Liste unten in deinen Code.   - Kopiere die unsortierte Liste unten in deinen Code.
   - Schreibe Code, der erst die unsortierte, dann die sortierte Liste ausgibt.   - Schreibe Code, der erst die unsortierte, dann die sortierte Liste ausgibt.
Zeile 916: Zeile 918:
 print(laender) print(laender)
 print(sortiere(laender)) print(sortiere(laender))
 +</code>
 +++++
 +</nodisp>
 +
 +==== - Aufgabe ====
 +Schreibe eine Funktion namens ''get\_shortest(li)'', die eine Liste mit Wörtern als Parameter annimmt, darin das kürzeste Wort findet und zurückgibt. Für die Liste ''vornamen = ["Annamaria", "Liam", "Marcel", "Leonardo", "Mia", "Susanna"]'' zum Beispiel soll die Funktion das Element "Mia" zurückgeben.
 +
 +<nodisp 2>
 +++++Lösung|
 +<code python>
 +def find_shortest(li):
 + shortest = li[0]
 + for i in li:
 + if len(i) < len(shortest):
 + shortest = i
 + return shortest
 +
 +vornamen = ["Annamaria", "Liam", "Marcel", "Leonardo", "Mia", "Susanna"]
 +
 +print(find_shortest(vornamen))
 +</code>
 +++++
 +</nodisp>
 +
 +==== - Aufgabe ====
 +Schreibe eine Funktion namens ''remove\_duplicates(li)'', die alle Duplikate aus einer Liste entfernt. Die Funktion nimmt die Liste ''li'' an und gibt eine Liste zurück, in der jeder Eintrag nur einmal enthalten ist. Beispiel: Für die Liste ''farben = ['gelb', 'rot', 'gelb', 'grün', 'blau', 'rot', 'rot', 'rot', 'braun', 'orange', 'orange', 'orange']'' soll die Funktion die Liste  ''['gelb', 'rot', 'grün', 'blau', 'braun', 'orange']'' zurückgeben.
 +
 +++++Hinweis|
 +Code zum Überprüfen, ob ein Element `el` (nicht) bereits in einer Liste `li` vorkommt:
 +<code python>
 +if el in li:
 +    # Code der ausgefuehrt wird, wenn el bereits in li vorkommt
 +    
 +if not el in li:
 +    # Code der ausgefuehrt wird, wenn el NICHT bereits in li vorkommt
 +</code>
 +++++
 +
 +<nodisp 2>
 +++++Lösung|
 +<code python>
 +def remove_duplicates(li):
 + new_list = []
 + for i in li:
 + if not i in new_list:
 + new_list.append(i)
 + return new_list
 +
 +farben = ["gelb", "rot", "gelb", "grün", "blau", "rot", "rot", "rot", "braun", "orange", "orange", "orange"]
 +
 +print(remove_duplicates(farben))
 +</code>
 +++++
 +</nodisp>
 +
 +==== - Aufgabe ====
 +Schreibe eine Funktion namens ''boese\_sieben(li)'', die eine Liste mit Zahlen annimmt, darin alle durch sieben teilbaren Elemente durch das Wort "böse" ersetzt und die Liste zurückgibt. Beispiel: Für die Liste ''zahlen = [5, 9, 14, 17, 19, 21, 41, 42, 46, 49]'' soll die Funktion die Liste  ''[5, 9, 'böse', 17, 19, 'böse', 41, 'böse', 46, 'böse']'' zurückgeben.
 +
 +<nodisp 2>
 +++++Lösung|
 +<code python>
 +def boese_sieben(li):
 + results = []
 + for i in li:
 + if i % 7 == 0:
 + results.append('böse')
 + else:
 + results.append(i)
 + return results
 +
 +zahlen = [5, 9, 14, 17, 19, 21, 41, 42, 46, 49]
 +print(boese_sieben(zahlen))
 +</code>
 +++++
 +</nodisp>
 +
 +==== - Aufgabe ====
 +Erweitere die Funktion aus der vorherigen Aufgabe, sodass auch alle Zahlen, in denen eine 7 drin vorkommt, als "böse" erkannt werden. Also zum Beispiel auch 17, 27 und alle Zahlen von 70 bis 79. Die Funktion soll für Zahlen zwischen 1 und 99 funktionieren. 
 +
 +Für die Liste ''[5, 9, 14, 17, 19, 21, 26, 27, 28, 46, 49, 70, 73, 80]''
 +
 +soll die Liste ''[5, 9, 'böse', 'böse', 19, 'böse', 26, 'böse', 'böse', 46, 'böse', 'böse', 'böse', 80]'' zurückgegeben werden.
 +
 +<nodisp 2>
 +++++Lösung|
 +<code python>
 +def boese_sieben(li):
 + results = []
 + for i in li:
 + if i % 7 == 0 or i % 10 == 7 or i > 70 and i < 80:
 + results.append('böse')
 + else:
 + results.append(i)
 + return results
 +
 +zahlen = [5, 9, 14, 17, 19, 21, 26, 27, 28, 46, 49, 70, 73, 80]
 +print(boese_sieben(zahlen))
 </code> </code>
 ++++ ++++
  • gf_informatik/programmieren_repetitionsdossier.1686135017.txt.gz
  • Zuletzt geändert: 2023-06-07 10:50
  • von gra