Im folgenden wiederholen wir Stoff aus der Sek I.
| Methode / Funktion | Parameter | Beispiel | Import | |
|---|---|---|---|---|
| gibt Werte aus | beliebig viele Parameter von beliebigen Typ | print("Hallo"), print(5), print("Hallo", 5, True, 3.14) |
||
| input | ermöglicht Eingaben | - str, der dem User angezeigt wird | name = input("Name: "), alter = int(input("Wie alt bist du: ")) |
|
| randint | erzeugt eine Zufallszahl (kurz für "random integer") | int: von int: bis |
randint(0,100), randint(50,60) | from random import randint |
| int | wandelt in Integer um | Wert eines beliebigen Typen | int("5") | |
| float | wandelt in Float um | Wert eines beliebigen Typen | float("3.14") | |
| str | wandelt in String um | Wert eines beliebigen Typen | str(3) |
Folgende Beispiele demonstrieren die while-Schleife
from random import randint
# 3 Durchläufe
durchlauf = 1
while durchlauf <= 3:
print("Durchlauf:", durchlauf)
durchlauf = durchlauf + 1
# Zufallszahlen bis 42 getroffen
zahl = 0
anzahl_versuche = 0
while zahl != 42:
zahl = randint(0,100)
anzahl_versuche = anzahl_versuche + 1
print("Die 42 wurde nach", anzahl_versuche, "Versuchen gefunden")
# Summe aller Zahlen von 1 bis 100
summe = 0
zahl = 1
while zahl <= 100:
summe = summe + zahl
zahl = zahl + 1
print("Summe der Zahlen von 1 bis 100 ist", summe)
while False:
print("dead code")
# Endlosschleife
while True:
print("ich bin toll")
Übungen
#1 Geben die Zahlen von 42 bis 60 aus.
for zahl in range(42,61):
print(zahl)
#2 Geben die Zahlen von 1000 bis 50 in 5er Schritten.
for i in range(1000,49,-5):
print(i)
#3 Bilde die Summer aller Zahlen von 1 bis 1000000.
summe = 0
for i in range(1, 1_000_0001):
summe = summe + i
print("Summe bis 1000000", summe)
#4 Der Nutzer darf die Zahl eingeben, bis zu der gezählt werden soll. Danach werden alle Zahlen bis zu der eingegebenen Zahl ausgegeben.
bis = int(input("bis: "))
for blubb in range(bis):
print(blubb)
#5 Countdown. Nutzer gibt Zahl ein, von der der Countdown starten soll und einen Nachricht die nach dem Ende des Coundowns ausgegeben werden soll.
startzahl = int(input("Zahl: "))
ausgabe = input("Nachricht")
for zahl in range(startzahl, 0, -1):
print("Noch", zahl)
print(ausgabe)
# Vereinfachte Version von BlackJack (17+4)
from random import randint
# Erste Karte wird gezogen und ausgegeben
karte = randint(2, 11)
summe = karte
print("Karte", karte, "Summe", summe)
# Solange der Spieler Karten ziehen möchte geht es weiter
eingabe = input("Wollen Sie noch eine Karte ziehen (ja): ")
while eingabe == "ja":
# Neue Karte
karte = randint(2, 11)
summe = summe + karte
print("Karte", karte, "Summe", summe)
# Abbruch wenn die Summe über 21 ist
if summe > 21:
break
# Soll weitergespielt werden?
eingabe = input("Wollen Sie noch keine Karte ziehen (j/n): ")
# Ausgabe
if summe > 21:
print("verloren")
elif summe == 21:
print("gewonnen")
elif summe > 19:
print("nicht schlecht")
elif summe > 16:
print("das geht besser")
else:
print("ganz schön feige")
print("ende")
# Einfaches Zahlenraten
from random import randint
# Eingabe
zahlmax = int(input("max Zahl: "))
anzahlversuche = int(input("Versuche: "))
# Generiere Zufallszahl und lasse den User raten
zufallszahl = randint(0, zahlmax)
gewonnen = False
for i in range(anzahlversuche):
guess = int(input("guess: "))
if guess == zufallszahl:
print("gewonnen")
gewonnen = True
break
elif guess > zufallszahl:
print(">")
else:
print("<")
if not gewonnen:
print("verloren")
# Taschenrechner
while True:
# Eingabe
zahl1 = int(input("Zahl 1: "))
operation = input("Operation (+,-,*,/)")
zahl2 = int(input("Zahl 2: "))
# Verarbeitung
if operation == "+":
print(zahl1 + zahl2)
elif operation == "-":
print(zahl1 - zahl2)
elif operation == "*":
print(zahl1 * zahl2)
elif operation == "/":
if zahl2 == 0:
print("Durch 0 teilt man nicht!")
break # Alternativ continue
print(zahl1 / zahl2)
else:
print("Falsche Eingabe:",operation, "Nur +, -, *, / erlaubt")
print("Ende")
ToDo