Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:glf20:programmieren:listen2kw [2020/11/03 11:33] Ivo Blöchliger |
lehrkraefte:blc:informatik:glf20:programmieren:listen2kw [2020/11/19 08:47] (current) Ivo Blöchliger |
||
---|---|---|---|
Line 12: | Line 12: | ||
anzahl = len(namen) | anzahl = len(namen) | ||
- | print(" | + | print(" |
</ | </ | ||
</ | </ | ||
Line 29: | Line 29: | ||
namen = [" | namen = [" | ||
for i in range(len(namen)): | for i in range(len(namen)): | ||
- | print(" | + | print(" |
</ | </ | ||
Line 114: | Line 114: | ||
for note in noten: | for note in noten: | ||
# | # | ||
- | # TODO | + | # TODO: Nur noch ein einziges if... |
# | # | ||
if betrag> | if betrag> | ||
print(" | print(" | ||
</ | </ | ||
+ | Erweitern Sie den Code nun so, dass auch Münzen ausbezahlt werden. | ||
</ | </ | ||
+ | |||
+ | ===== Array-Rätsel (Zusatzaufgabe) ===== | ||
+ | Geben ist folgendes Array: | ||
+ | <code python array.py> | ||
+ | a = [58, 64, 2, 79, 92, 46, 80, 54, 50, 86, 72, 50, 84, 37, 76, 84, 14, 60, 99, 65, 66, 47, 28, 48, 38, 51, 17, 51, 6, 73, 20, 5, 83, 15, 43, 76, 93, 53, 65, 15, 91, 64, 86, 1, 63, 82, 96, 96, 35, 62, 37, 55, 51, 39, 96, 5, 24, 31, 23, 45, 75, 100, 81, 57, 67, 1, 55, 21, 80, 77, 89, 13, 75, 7, 49, 28, 31, 30, 41, 1, 57, 58, 75, 42, 14, 47, 64, 59, 9, 95, 59, 68, 74, 60, 99, 93, 39, 38, 65, 24] | ||
+ | </ | ||
+ | Gesucht sind folgende Dinge (wenn es mehrere Lösungen geben sollte, ist immer nur die erste auszugeben) | ||
+ | * Position und Wert des kleinsten und grössten Elements | ||
+ | * Position und Länge der längsten Sequenz strikt aufsteigender Zahlen | ||
+ | * Position und Länge der längsten Sequenz ungerader Zahlen | ||
+ | < | ||
+ | Minimum 1 bei Index 43 | ||
+ | Maximum 100 bei Index 61 | ||
+ | Aufsteigende Sequenz mit Länge 4, Start bei 33, Sequenz [15, 43, 76, 93] | ||
+ | Ungerade Sequenz mit Länge 6, Start bei 62, Sequenz [81, 57, 67, 1, 55, 21] | ||
+ | </ | ||
+ | |||
+ | <hidden Lösungsvorschläge> | ||
+ | <code python arraysuche.py> | ||
+ | a = [58, 64, 2, 79, 92, 46, 80, 54, 50, 86, 72, 50, 84, 37, 76, 84, 14, 60, 99, 65, 66, 47, 28, 48, 38, 51, 17, 51, 6, 73, 20, 5, 83, 15, 43, 76, 93, 53, 65, 15, 91, 64, 86, 1, 63, 82, 96, 96, 35, 62, 37, 55, 51, 39, 96, 5, 24, 31, 23, 45, 75, 100, 81, 57, 67, 1, 55, 21, 80, 77, 89, 13, 75, 7, 49, 28, 31, 30, 41, 1, 57, 58, 75, 42, 14, 47, 64, 59, 9, 95, 59, 68, 74, 60, 99, 93, 39, 38, 65, 24] | ||
+ | |||
+ | minimum = a[0] # Kleinster Wert | ||
+ | minpos=0 | ||
+ | maximum = a[0] # Grösster Wert | ||
+ | maxpos=0 | ||
+ | |||
+ | maxlen = 1 # Maximale Länge aufsteigender Sequenz | ||
+ | inclen = 1 # Aktuelle Länge der Sequenz | ||
+ | incpos = 0 # Startposition der längsten Sequenz | ||
+ | |||
+ | oddlen = 0 # Aktuelle Länge ungerader Sequenz | ||
+ | oddpos = 0 # Startposition der längsten Sequenz | ||
+ | maxodd = 0 # Maximale Länge der Sequenz, die bis jetzt gefunden wurde. | ||
+ | |||
+ | for i in range(len(a)): | ||
+ | if a[i]< | ||
+ | minimum=a[i] | ||
+ | minpos = i | ||
+ | if a[i]> | ||
+ | maximum=a[i] | ||
+ | maxpos = i | ||
+ | if i>0 and a[i]> | ||
+ | inclen+=1 | ||
+ | if (inclen> | ||
+ | maxlen=inclen | ||
+ | incpos = i-maxlen+1 | ||
+ | else: | ||
+ | inclen=1 | ||
+ | | ||
+ | if a[i]%2==1: | ||
+ | oddlen+=1 | ||
+ | if oddlen> | ||
+ | maxodd=oddlen | ||
+ | oddpos = i-maxodd+1 | ||
+ | else: # Gerade | ||
+ | oddlen=0 | ||
+ | | ||
+ | print(" | ||
+ | print(" | ||
+ | print(" | ||
+ | print(" | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||