lehrkraefte:blc:informatik:glf20:programmieren:listen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:glf20:programmieren:listen [2020/11/04 11:21]
mirco.triner
lehrkraefte:blc:informatik:glf20:programmieren:listen [2020/11/06 13:19] (current)
mirco.triner
Line 24: Line 24:
  
 <WRAP info> <WRAP info>
 +Es ist auch möglich einen gewissen Bereich einer Liste auszugeben, dies wird mithilfe des : gemacht.
 +<code>
 +print(schulklasse[0:2])
 +</code>
 +</WRAP>
 +
 +<WRAP todo>
 Damit nicht jedes Element einzeln ausgegeben werden muss, können wir hier auch Schleifen (Wiederholungen verwenden). Damit nicht jedes Element einzeln ausgegeben werden muss, können wir hier auch Schleifen (Wiederholungen verwenden).
 Kopieren, testen und verstehen Sie folgenden zwei Codeblöcke: Kopieren, testen und verstehen Sie folgenden zwei Codeblöcke:
Line 52: Line 59:
 schulklasse.append('Kevin') schulklasse.append('Kevin')
 </code> </code>
 +<hidden Tipp>
 +Wenn die Liste nach dem Hinzufügen auf der Konsole ausgegeben werden möchte, muss ab Schluss noch ein print-Statement eingefügt werden.
 +<code>
 +print(schulklasse)
 +</code>
 +</hidden>
 +
 </WRAP> </WRAP>
  
Line 80: Line 94:
 schulklasse.index('Max') schulklasse.index('Max')
 </code> </code>
 +<hidden Tipp>
 +Damit der Index von Max auf der Konsole ausgegeben wird, benötigt das Skript noch ein print-Statement.
 +<code>
 +print(schulklasse.index('Max'))
 +</code>
 +</hidden>
 </WRAP> </WRAP>
  
Line 87: Line 107:
   - Legen Sie eine Liste mit Namen "zahlen" an, die mindestens 10 Elemente enthält.   - Legen Sie eine Liste mit Namen "zahlen" an, die mindestens 10 Elemente enthält.
   - Geben Sie das siebte Element der Liste aus.   - Geben Sie das siebte Element der Liste aus.
-  - Geben Sie die Elemente zwei-acht als Liste aus. +  - Geben Sie die Elemente zwei bis acht als Liste aus. 
-  - Geben Sie die Elemente zwei-acht als einzelne Elemente aus+  - Geben Sie die Elemente zwei bis acht als einzelne Elemente aus
   - Fügen Sie die Zahlen 15, 23 und 95 zur Liste hinzu.   - Fügen Sie die Zahlen 15, 23 und 95 zur Liste hinzu.
   - Löschen Sie das dritte Element aus der Liste.   - Löschen Sie das dritte Element aus der Liste.
Line 151: Line 171:
  
 <WRAP todo> <WRAP todo>
-Schreiben Sie ein Programm, welches eine Liste bestehend aus ganzen Zahlen aufsteigend sortiert. Der Benutzer soll per Eingabe entscheiden, welche Elemente in die Liste kommen und er soll so viele Elementen eingeben können, wie er will. Wenn er mit der Eingabe fertig ist, soll er mit einem Befehl (zum Beispiel q) die Eingabe beenden. Überlegen Sie sich zuerst wie die Sortierung gemacht werden soll, versuchen Sie es erst dann in Code umzusetzen.+Schreiben Sie ein Programm, welches den Benutzer nach Zahlen fragt und diese dann in einer Liste speichert. Wenn der Benutzer anstelle einer Zahl den Buchstaben q eintippt, soll die gesamte Liste ausgegeben werden.
 </WRAP> </WRAP>
 +
 +<WRAP todo>
 +Ergänzen Sie das Programm der vorherigen Aufgabe indem Sie die Liste aufsteigend sortieren. Überlegen Sie sich zuerst wie die Sortierung gemacht werden soll, indem Sie dem Ablauf auf ein Papier zeichnen. Starten Sie anschliessend mit dem Programmieren.
 +</WRAP>
 +
 +===== Lösungsvorschläge =====
 +<hidden Lösungvorschläge>
 +<code>
 +#Ergänzen Sie die Liste der Schülerinnen und Schüler um fünf Namen.
 +
 +schulklasse = ['Anna','Max','Mia','Gustav','Paula','Hugo','Petra','Fritz','Emily']
 +
 +
 +#Schreiben Sie nun ein Programm, welches jeden zweiten Namen aus der Liste ausgibt.
 +#Option 1: For-Schleife
 +
 +for student in range(0,len(schulklasse),2):
 +    print(schulklasse[student])
 +
 +
 +#Option 2: While-Schleife
 +
 +counter = 0
 +while counter < len(schulklasse):
 +    print(schulklasse[counter])
 +    counter += 2
 +</code>
 +
 +<code>
 +#Legen Sie eine Liste mit Namen “zahlen” an, die mindestens 10 Elemente enthält.
 +zahlen = [3,7,1,67,98,34,76,56,90,32]
 +
 +
 +#Geben Sie das siebte Element der Liste aus.
 +print(zahlen[6])
 +
 +
 +#Geben Sie die Elemente zwei bis acht als Liste aus.
 +print(zahlen[1:7])
 +
 +
 +#Geben Sie die Elemente zwei bis acht als einzelne Elemente aus
 +#Option 1:
 +counter = 1
 +while counter < 7:
 +    print(zahlen[counter])
 +    counter += 1
 +
 +#Option 2:
 +for zahl in range(1,7):
 +    print(zahlen[zahl])
 +
 +
 +#Fügen Sie die Zahlen 15, 23 und 95 zur Liste hinzu.
 +zahlen.append(15)
 +zahlen.append(23)
 +zahlen.append(95)
 +
 +
 +#Löschen Sie das dritte Element aus der Liste.
 +zahlen.pop(2)
 +
 +
 +#Löschen Sie die Zahl 23 aus der Liste.
 +zahlen.remove(23)
 +</code>
 +<code>
 +betrag = 480  # oder   betrag=inputInt("Bitte Betrag eingeben")
 +noten = [200,100,50,20,10]
 +for note in noten:
 +    if betrag>=note:
 +        anzahl = int(betrag/note)
 +        print("%d %ser Noten" % (anzahl,note))
 +        betrag -= note*anzahl
 +        
 +if betrag>0:
 +    print("Es ist noch ein Betrag von %d übrig" % betrag)
 +
 +</code>
 +<code>
 +betrag = 488.35  # oder   betrag=inputInt("Bitte Betrag eingeben")
 +noten = [200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.05]
 +for note in noten:
 +    if betrag>=note:
 +        anzahl = int(betrag/note)
 +        if(note > 5):
 +            print("%d %ser Noten" % (anzahl,note))
 +        else:
 +            print("%d %ser Münzen" % (anzahl,note))
 +        betrag -= note*anzahl
 +        
 +if betrag>0:
 +    print("Es ist noch ein Betrag von %d übrig" % betrag)
 +</code>
 +<code>
 +print("Guten Tag")
 +liste = []
 +
 +while True:
 +    eingabe = input("Bitte geben Sie eine positive Zahl ein")
 +    if eingabe == 'q' :
 +        break
 +    else:
 +        liste.append(eingabe)
 +
 +print("Folgende Liste wird nun sortiert:")
 +print(liste)
 +
 +</code>
 +<code>
 +#Ergänzung zur vorigen Aufgabe, Liste muss mitgegeben werden
 +#Version 1
 +for i in range(len(liste)):
 +    for j in range(i,len(liste)):
 +        if liste[i] > liste[j]:
 +            liste[i], liste[j] = liste[j], liste[i]
 +
 +print(liste)
 +</code>
 +
 +<code>
 +#Ergänzung zur vorigen Aufgabe, Liste muss mitgegeben werden
 +#Version 2
 +
 +sortedList = []
 +
 +while len(liste)>0:
 +    minValue = liste[0]
 +    minIndex = 0
 +    counter = 0
 +    
 +    for element in liste:
 +        if element < minValue:
 +            minValue = element
 +            minIndex = counter
 +        counter += 1
 +    sortedList.append(liste[minIndex])
 +    liste.pop(minIndex)
 +
 +print(sortedList)
 +        
 +</code>
 +
 +</hidden>
  
  
  
  • lehrkraefte/blc/informatik/glf20/programmieren/listen.1604485313.txt.gz
  • Last modified: 2020/11/04 11:21
  • by mirco.triner