Übungen
Aufgabe 1: Bedingungen beschreiben
Wir simulieren hier ein einfaches Würfelspiel, bei dem man drei Würfel wirft.
Wir benutzen hierzu die Funktion randint
aus dem Baustein random
.
Mit dieser Funktion lassen sich (Pseudo-) Zufallszahlen erzeugen.
(a) Teste erst einmal die Funktion random
mit Testaufrufen wie im folgenden Python-Dialog.
>>> from random import randint
>>> randint(1, 6)
2
>>> randint(1, 6)
6
>>> w = randint(1, 6)
>>> w
1
>>> w = randint(1, 6)
>>> w
6
Beachte, dass random
keine Funktion im mathematischen Sinn ist, da sie nicht bei jedem Aufruf denselben
Funktionswert liefert.
(b) Bei den Würfelspiel "alle gleich" gewinnt man, wenn alle drei Würfelergebnisse gleich sind.
Ergänze passend die Wahrheitswerte True
und False
und teste das Programm mehrfach.
from random import randint
def alleGleich(x, y, z):
if x == y:
if y == z:
ergebnis = ...
else:
ergebnis = ...
else:
ergebnis = ...
return ergebnis
w1 = randint(1, 6)
w2 = randint(1, 6)
w3 = randint(1, 6)
print(w1, w2, w3)
if alleGleich(w1, w2, w3):
print('gewonnen')
else:
print('verloren')
Die Funktionsdefinition lässt sich viel kürzer mit einem logischen Term gestalten. Teste auch dieses Programm mehrfach.
from random import randint
def alleGleich(x, y, z):
ergebnis = ((x == y) and (y == z))
return ergebnis
w1 = randint(1, 6)
w2 = randint(1, 6)
w3 = randint(1, 6)
print(w1, w2, w3)
if alleGleich(w1, w2, w3):
print('gewonnen')
else:
print('verloren')
(c) Wir ändern die Spielregel jetzt ab.
- Man gewinnt, wenn die Würfelergebnisse w1, w2, w3 aufsteigend sortiert sind (z.B.: 1 2 3 oder 3 3 5).
- Man gewinnt, wenn die Würfelergebnisse w1, w2, w3 aufsteigend oder absteigend sortiert sind (z.B.: 4 2 1 oder 5 5 5).
- Man gewinnt, wenn alle Würfelergebnisse w1, w2, w3 verschieden sind (z.B.: 1 6 2 oder 3 2 4).
- Man gewinnt, wenn mindesten 2 der Würfelergebnisse w1, w2, w3 gleich sind (z.B.: 3 2 3 oder 6 6 6).
- Man gewinnt, wenn genau 2 der Würfelergebnisse w1, w2, w3 gleich sind (z.B.: 3 3 5 oder 1 6 6).
Entwickle für die verschiedenen Regeln jeweils eine passende Funktion. Benutze passende Fallunterscheidungen oder logische Terme.
Aufgabe 2: Aussagenlogik
Betrachte die folgenden Aussagen:
A: "die Person mag Popmusik" B: "die Person mag Rockmusik" C: "die Person mag Jazz"
Lena mag Pop- und Rockmusik. Jazz mag sie nicht. Patrick mag Jazz, aber auch Popmusik. Mit Rockmusik kann er nichts anfangen. Uli mag nur Rockmusik.
Welche der folgenden Aussagen sind für Lena bzw. Patrick bzw. Uli wahr?
- A und B und C
- A oder B oder C
- nicht A
- nicht C
- A und (B oder C)
- A oder (B und C)
- (A und B) oder (B und C)