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:for_loops_sca [2023-06-15 09:10] – [2. for-Schleifen für Listen] scagf_informatik:for_loops_sca [2023-06-15 12:16] (aktuell) – [Aufgabe B2] sca
Zeile 214: Zeile 214:
     print(el)     print(el)
 </code> </code>
 +
 +==== Aufgaben B ====
 +
 +=== Aufgabe B1 ===
 +
 +Für diese mehrteilige Aufgabe arbeiten wir mit den folgenden zwei Listen.
 +<code python>
 +animals = ['Hund', 'Katze', 'Kuh', 'Schwein', 'Vogel', 'Loewe', 'Elefant', 'Frosch', 'Pferd', 'Affe', 'Gans', 'Eule', 'Schaf', 'Ente', 'Hahn', 'Maus', 'Tiger', 'Baer', 'Biene', 'Delfin']
 +sounds = ['Wuff!', 'Miau!', 'Muh!', 'Oink!', 'Zwitscher!', 'Bruell!', 'Toeroeoe!', 'Quak!', 'Wieher!', 'Uh-uh!', 'Gaggel!', 'Hu-hu!', 'Maeh!', 'Quack!', 'Kikeriki!', 'Piep!', 'Grrr!', 'Grrr!', 'Summ!', 'Klack!']
 +</code>
 +Löse alle Aufgaben mithilfe von for-Schleifen.
 +
 +== Teil 1 ==
 +
 +Schreibe ein Programm, welches alle Tiere der Reihe nach ausgibt.
 +
 +++++Lösung|
 +
 +<code python>
 +for animal in animals:
 +    print(animal)
 +</code>
 +Beachte: Da die Liste `animals` heisst, macht es Sinn, dass man als Variable für ein einzelnes Element der Liste `animal` verwendet. Gewöhne dir an, sinnvolle Variablennamen zu verwenden.
 +
 +++++
 +
 +== Teil 2 ==
 +
 +Schreibe ein Programm, welches immer ein Tier zusammen mit dem passenden Geräusch ausgibt:
 +<code>
 +Hund: Wuff!
 +Katze: Miau!
 +Kuh: Muh!
 +...
 +</code>
 +
 +== Teil 3 ==
 +
 +Schreibe ein Programm, welches ermittelt, an welcher Stelle die 'Gans' in der Liste `animals` steht.
 +
 +
 +== Teil 4 ==
 +
 +Schreibe ein Programm, in dem die Benutzerin aufgefordert wird, ein Tier einzugeben. Der Code gibt dann aus, wie das Tier macht. Verwende for-Schleifen anstelle von while-Schleifen.
 +
 +== Teil 5 ==
 +
 +Schreibe ein Programm, welches ...
 +
 +   1. Ermittelt, welches Tier 'Bruell' macht.
 +   1. Welche Tiere 'Grrr!' machen und diese in einer Liste speichert. Der Code soll auch noch funktionieren, wenn weitere Tiere eingetragen werden, die 'Grrr!' machen.
 +
 +++++Lösungen|
 +
 +<code python>
 +animals = ['Hund', 'Katze', 'Kuh', 'Schwein', 'Vogel', 'Loewe', 'Elefant', 'Frosch', 'Pferd', 'Affe', 'Gans', 'Eule', 'Schaf', 'Ente', 'Hahn', 'Maus', 'Tiger', 'Baer', 'Biene', 'Delfin']
 +sounds = ['Wuff!', 'Miau!', 'Muh!', 'Oink!', 'Zwitscher!', 'Bruell!', 'Toeroeoe!', 'Quak!', 'Wieher!', 'Uh-uh!', 'Gaggel!', 'Hu-hu!', 'Maeh!', 'Quack!', 'Kikeriki!', 'Piep!', 'Grrr!', 'Grrr!', 'Summ!', 'Klack!']
 +
 +print("### Teil 1 ###")
 +for animal in animals:
 +    print(animal)
 +
 +print("\n### Teil 2 ###")
 +for i in range(len(animals)): # oder ...range(len(sounds)), spielt keine Rolle, beide Listen sind gleich lang
 +    print(animals[i] + ' : ' + sounds[i])    
 +
 +print("\n### Teil 3 ###")
 +for i in range(len(animals)):
 +    if animals[i] == 'Gans':
 +        print(i)
 +        break # optional, bricht Schleife ab, sobald hier angelangt ist
 +
 +print("\n### Teil 4 (V1) ###")
 +inp = input("Gib ein Tier ein")
 +for i in range(len(animals)):
 +    if animals[i] == inp:
 +        print(inp + " macht: " + sounds[i])
 +
 +print("\n### Teil 4 (V2) ###")
 +inp = input("Gib ein Tier ein")
 +animal_found = False
 +for i in range(len(animals)):
 +    if animals[i] == inp:
 +        print(inp + " macht: " + sounds[i])
 +        animal_found = True
 +if not animal_found: # oder: if animal_found == False:
 +    print("Tier " + inp + " leider nicht gefunden!")
 +
 +print("\n### Teil 5.1 ###")
 +for i in range(len(animals)):
 +    if sounds[i] == 'Bruell!':
 +        print(animals[i])
 +        break
 +
 +print("\n### Teil 5.1 ###")
 +animals_grrr = []
 +for i in range(len(animals)):
 +    if sounds[i] == 'Grrr!':
 +        animals_grrr.append(animals[i])
 +print(animals_grrr)
 +</code>
 +++++
 +
 +=== Aufgabe B2 ===
 +
 +Kunst mit verschachtelten for-Schleifen!
 +
 +Betrachte das folgende Beispiel, welches ein Muster in der Konsole erzeugt.
 +<code python>
 +for i in range(5):
 +    for j in range(i+1):
 +        print('*', end='')
 +    print()
 +</code>
 +
 +Schreibe nun einen Code, auch mit zwei ineinander verschachtelten for-Schleifen, die das folgende Schachbrett.Muster erzeugen:
 +<code python>
 +o o o o 
 + o o o o
 +o o o o 
 + o o o o
 +o o o o 
 + o o o o
 +o o o o 
 + o o o o
 +</code>
 +
 +Tipp: Fügt man dem print-Befehl die Option `end=''` an, wird am Ende **kein Zeilenumbruch** gemacht.
 +
 +<code python>
 +print(1,end='')
 +print(2,end='')
 +print(3,end='')
 +"""
 +Ausgabe: 123
 +Anstelle von:
 +1
 +2
 +3
 +"""
 +</code>
 +
 +
  
  
  • gf_informatik/for_loops_sca.1686820226.txt.gz
  • Zuletzt geändert: 2023-06-15 09:10
  • von sca