Kurs:Python/LG/Py2009/Aufgaben

Das Galileo Openbook enthält leider gar keine Aufgaben, was das Üben erschwert. Teilweise kann man die Programmieraufgaben für andere Sprachen zum Üben verwenden.

Datei-Input Techniken (Gailer 23)

Bearbeiten

Aufgaben

Daten aus einer Datei lesen (Gailer 22)

Bearbeiten

Aufgaben

Datei-Input und -Output (Gailer 21)

Bearbeiten

Aufgaben

Aufgabe 1 - Steuerzeichen

Bearbeiten

Version „Bildschirmausgabe“

text = ""

for i in range (10):
    text = text + "X"

print text

Version „Dateiausgabe“

text = ""
 
for i in range (10):
    text = text + "X"
 
print text

frage = input ("Soll der Text in die Datei geschrieben werden? 1 = ja, 0 = nein: ")

if frage == 1:
    fobj = open("ausgabe.txt", "w") 
    fobj.write(text) 
    fobj.close()

Die Datei ausgabe.txt ist 10 Byte groß, das heißt jedes Zeichen ist ein Byte groß.

Aufgabe 2 — Mehr Steuerzeichen

Bearbeiten
text = ""
 
for i in range (10):
    text = text + "X"

for j in range (10):
    print text

frage = input ("Soll der Text in die Datei geschrieben werden? 1 = ja, 0 = nein: ")

if frage == 1:
    fobj = open("ausgabe.txt", "w") 
    for k in range (10):
        fobj.write(text) 
    fobj.close()
    print "Daten wurden in die Datei geschrieben."

Verbesserte Programm-Version:

text = ""
 
for i in range (10):
    text = text + "X"

for j in range (10):
    print text

frage = input ("Soll der Text in die Datei geschrieben werden? 1 = ja, 0 = nein: ")

if frage == 1:
    fobj = open("ausgabe.txt", "w") 
    for k in range (10):
        fobj.write(text + "\n") 
    fobj.close()
    print "Daten wurden in die Datei geschrieben."

Protokoll:

XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX

Die Datei ausgabe.txt ist 110 Byte groß. Es gehen also 10 Byte für Steuerzeichen drauf.

Aufgabe 3 — An eine bestehende Datei anhängen

Bearbeiten
inp = open("ausgabe.txt", "a")

eingabe=raw_input("Bitte geben Sie Ihren Namen ein:")

inp.write(eingabe)

inp.close()

Aufgabe 4 — Eine wirklich kleine Datei

Bearbeiten
text = ""

print "Text:", text
 
frage = input ("Soll der Text in die Datei geschrieben werden? 1 = ja, 0 = nein: ")
 
if frage == 1:
    fobj = open("ausgabe.txt", "w") 
    fobj.write(text + "\n") 
    fobj.close()
    print "Daten wurden in die Datei geschrieben."

Die Datei ausgabe.txt hat eine Größe von 1 Byte. Wahrscheinlich steht in der Datei jetzt, wie der Name ist und welcher Dateityp vorliegt.

Aufgabe 5 — Text Editor

Bearbeiten
eingabe_a=input("Moechten Sie eine Datei oeffnen oder eine neue Datei schreiben? \n neue Datei: 1 \t  Datei lesen: 2 \n -> ")


if eingabe_a==1:
    eingabe_b=raw_input("Geben Sie bitten den Dateinamen mit Endung ein:")
    inp = open(eingabe_b, "w")
    print " Sie koennen solange Ihren Text eingeben, bis Sie in einer Zeile  |x|  schreiben!"
    
    running = True
    while running:
        eingabe_c = raw_input("schreiben:")
        if eingabe_c.count("|x|"):
            inp.close()
            running = False
        else:
            inp.write(eingabe_c + "\n")

elif eingabe_a==2:
    eingabe_d=raw_input("Bitte geben Sie den gesamten Pfad mit Endung ein:")
    inp = open(eingabe_d, "r")
    for line in inp.readlines():
        print line


Beispielprogramm — Zahlenschloss (Gailer 20)

Bearbeiten

Aufgaben

Aufgabe 1/2 - Zahlenschloss

Bearbeiten
# Zahlenkombination ist in den Variablen gespeichert.
code1 = 100
code2 = 10
code3 = 40

# eingabe1 = 0
# eingabe2 = 0
# eingabe3 = 0

# Eingabe
eingabe1 = input ("Geben Sie die erste Zahl ein: ")
eingabe2 = input ("Geben Sie die zweite Zahl ein: ")
eingabe3 = input ("Geben Sie die dritte Zahl ein: ")

# Pruefung der Eingabe und Rueckmeldung
if code1 - 3 < eingabe1 < code1 + 3 and code2 - 3 < eingabe2 < code2 + 3 and code3 - 3 < eingabe3 < code3 + 3:
    print "Das Schloss oeffnet sich."
else:
    print "Bitte lassen Sie das Zahlenschloss in Ruhe."

Aufgabe 3 - Ratespiel

Bearbeiten

Die erste Version:

import random

durchlauf = 0
zahl = random.randint(1,10)

while durchlauf != 3:
  
    eingabe = input ("Geben Sie eine Zahl zwischen 1 und 10 ein: ")
   
    if zahl == eingabe:
        print "Glueckwunsch!"
        break
    else:
        print "Leider nicht. Naechster Versuch."
        durchlauf = durchlauf + 1
else:
    print "Die gesuchte Zahl war",  zahl

print "ENDE."

Eine verbesserte Version:

import random
 
durchlauf = 0
zahl = random.randint(1,10)
 
while durchlauf != 3:
 
    eingabe = input ("Geben Sie eine Zahl zwischen 1 und 10 ein: ")
 
    if zahl == eingabe:
        print "Glueckwunsch!"
        break
    elif zahl != eingabe and durchlauf < 2:
        print "Leider nicht. Naechster Versuch."
        durchlauf = durchlauf + 1
    else:
        durchlauf = durchlauf +1
else:
    print "Die gesuchte Zahl war",  zahl
 
print "ENDE."

Aufgabe 4 - komplizierteres Ratespiel

Bearbeiten

Jetzt mit einer for-Schleife realisiert.

import random
 
durchlaeufe = 3
zahl = random.randint(1,10)
 
for i in range (durchlaeufe):

    eingabe = input ("Geben Sie eine Zahl zwischen 1 und 10 ein: ")
 
    if zahl == eingabe:
        print "Glueckwunsch!"
        break
    elif eingabe >= zahl + 3 or eingabe <= zahl - 3:
        print "Kalt."
    elif eingabe >= zahl + 2 or eingabe <= zahl - 2:
        print "Warm."
    else:
        print "Heiss."

else:
    print "Die gesuchte Zahl war",  zahl
 
print "ENDE."

Aufgabe 5 - noch komplizierteres Ratespiel

Bearbeiten
import random

runden        = 10
durchlaeufe   = 3
ergebnis      = 0

for j in range (runden):

    zahl = random.randint(1,10)
    print ""
    print "Ich denke an eine Zahl zwischen 1 und 10."
    print "Sie haben 3 Versuche die Zahl zu erraten!"
    
    for i in range (durchlaeufe):
    
        eingabe = input ("Geben Sie eine Zahl zwischen 1 und 10 ein: ")
     
        if zahl == eingabe:
            print "Glueckwunsch!"
            ergebnis = ergebnis + 1
            break
        elif eingabe >= zahl + 3 or eingabe <= zahl - 3:
            print "Kalt."
        elif eingabe >= zahl + 2 or eingabe <= zahl - 2:
            print "Warm."
        else:
            print "Heiss."
    
    else:
        print "Die gesuchte Zahl war",  zahl

print ""

if ergebnis <= 7:
    print "Sie Amateur."
elif ergebnis == 8:
    print "Ok"
elif ergebnis == 9:
    print "Superheld"
else:
    print "Sie haben geschummelt und werden gemeldet."
 
print "ENDE."

Ergebnisgesteuerte Schleifen (Gailer 19)

Bearbeiten

Aufgaben

Ratenzahlung

Bearbeiten
schuld = 1000.0
zins   = 1.5
monat  = 1

rueckbetrag = input ("Geben Sie den monatlichen Betrag ein: ")

while schuld >= 0:
    schuld = schuld + (schuld / 100 * zins) - rueckbetrag
    print "Monat: ",  monat,  "Saldo: ",  round(schuld,2),   "Gesamtbetrag: ",  monat * rueckbetrag
    monat = monat + 1

print "Ende"

Wirkstoffgehalt eines Arzneimittels

Bearbeiten
monat = 0
wirkstoffgehalt = 100.0

print "Monat: ",  monat,  "Wirkstoffgehalt: ",  wirkstoffgehalt

while wirkstoffgehalt > 50.0:
    monat = monat + 1
    wirkstoffgehalt = wirkstoffgehalt * 0.96
    if wirkstoffgehalt > 50.0:
        print "Monat: ",  monat,  "Wirkstoffgehalt: ",  round(wirkstoffgehalt, 2)
    else:
        print "Monat: ",  monat,  "Wirkstoffgehalt: ",  round(wirkstoffgehalt, 2),  "ABGELAUFEN"

print "ENDE"

Überwachungsgesteuerte Schleifen (Gailer 18)

Bearbeiten

Aufgaben

Aufgabe 1 — Meilen pro Gallone

Bearbeiten

Wir ersetzen: Meilen > Kilometer; Gallonen > Liter.

print "Programm Liter pro Kilometer"
print "Geben Sie einen negativen Wert ein, um das Programm zu beenden."

while True:

    anfang_stand = input ("Geben Sie den Anfangsstand (km) ein:")
    end_stand      = input ("Geben Sie den Endstand (km) ein:")
    verbrauch       = input ("Geben Sie den Verbrauch (l) ein:")

    
    if anfang_stand < 0 or end_stand < 0 or verbrauch < 0:
        print "Das Programm wurde beendet."
        break
    else:
        print "Kilometer pro Liter:", (end_stand - anfang_stand) * 1.0 / verbrauch

Aufgabe 2 - Bereiche addieren

Bearbeiten
summe_innen = 0
summe_aussen = 0
eingabe = 1

print "Bereiche addieren!"

untergrenze = input("Bitte geben Sie eine Untergrenze des Bereichs ein: ")
obergrenze = input("Bitte geben Sie eine Obergrenze des Bereiches ein: ")

while eingabe != 0:
    eingabe = input("Daten eingeben: ")
    if untergrenze < eingabe < obergrenze:
        summe_innen = summe_innen + eingabe
    else:
        summe_aussen = summe_aussen + eingabe

print "Summe der Werte innerhalb des Bereichs: ",  summe_innen
print "Summe der Werte ausserhalb des Bereichs: ",  summe_aussen

Aufgabe 3 - Versandkosten-Kalkulator

Bearbeiten
# Versandkosten-Kalkulator
# Version 1.0

gewicht                =   1
versandkosten_normal   =   3.0
versandkosten_extra    =  10.0
versandkosten_extra_kg =   0.25
versandkosten          =   0

print "Bitte geben Sie eine 0 ein, um das Programm zu beenden."

while gewicht != 0:
    gewicht = input ("Bitte geben Sie das Gewicht der Sendung (Gramm) an: ")
    if gewicht <= 500:
        versandkosten = versandkosten_normal 
    elif gewicht > 500:
        versandkosten = versandkosten_extra + (versandkosten_extra_kg * round((gewicht - 500)/100,  0))
    
    print "Versandkosten:",  versandkosten

print "ENDE"

Aufgabe 4 - Fläche von Rechtecken

Bearbeiten
print "CAD Programm"
print "Geben Sie viermal eine 0 ein, um das Programm zu beenden."

while True:
    # Koordinaten eingebn. Koordinate 1 ( a | b ), Koordinate 2 ( c | d )
    a = input ("Erster Eckpunkt X-Koordinate: ")
    b = input ("Erster Eckpunkt X-Koordinate: ")
    c = input ("Erster Eckpunkt X-Koordinate: ")
    d = input ("Erster Eckpunkt X-Koordinate: ")
    
    seite1 = c - a
    seite2 = d - b
    
    if a == b == c == d == 0:
        break
    elif seite1 == 0 or seite2 == 0:
        break
    else:
        print "Breite:",  seite1,  "Hoehe:",  seite2,  "Flaeche:",  seite1 * seite2

print "ENDE"

Beispiele von Zählschleifen (Gailer 17)

Bearbeiten

Aufgaben

Aufgabe 3 - Keil von Sternen

Bearbeiten
# Referenzen
sterne = ""
zahl   = input ("Anfangszahl der Sterne: ")

# Schleife 1 zur Ausgabe
for i in range (zahl):
    
    for i in range (zahl):
        sterne = sterne + "*"
    
    print sterne
    sterne = ""
    zahl   = zahl - 1
    
print "Ende"

Zählschleifen (Gailer 16)

Bearbeiten

Aufgaben

Aufgabe 1 — Integer addieren

Bearbeiten
summe = 0

anzahl = input ("Wie viele Integer sollen addiert werden: ")

for i in range (anzahl):
    addition = input ("Geben Sie einen Integer ein: ")
    summe = summe + addition

print "Die Summe ist: %d."  %  (summe)

Aufgabe 2

Bearbeiten
n = input ("Geben Sie eine Ganzzahl ein: ")
summe = 0

for i in range (1, n+1):
    summe = summe + (1.0 / i)

print "Die Summe ist:", summe

Aufgabe 3

Bearbeiten
import math

print "Wieviele Zahlen moechten Sie eingeben?"
eingabe=int(raw_input())

summe=0
summequadrat=0
for i in range (1,eingabe+1):
    print "Geben Sie eine Zahl ein:"
    zahl=float(raw_input())
    summe+=zahl
    summequadrat+=(zahl*zahl)
    
durchschnitt=summe/eingabe
durchschnittquadrat=summequadrat/eingabe
SD=math.sqrt(durchschnittquadrat-durchschnitt*durchschnitt)
    
print "Die Standardabweichung ist: %.5f"  %  (SD)

Schleifen und die while-Anweisung (Gailer 15)

Bearbeiten

Aufgaben

Aufgabe 1

Bearbeiten
start = 0
ende = 0

start = input ("Startwert: ")
ende = input ("Endwert: ")

for i in range (start,  ende):
    print i
    
print ende

Die Zeile print ende benötigen wir, weil die for-Schleife nie den Wert ende erreichen kann.

Aufgabe 2

Bearbeiten

Ein Wort soll solange auf dem Bildschirm ausgegeben werden, wie das Wort Buchstaben hat.

import string

wort = raw_input ("Geben Sie ein Wort ein: ")

for c in wort:
    print wort

print len(wort)

Erfüllt die Aufgabe und macht noch etwas mehr. *freu*

Aufgabe 3

Bearbeiten
punkte = "."
laenge = 30

wort = raw_input ("Geben Sie das erste Wort ein:  ")
zahl  = raw_input ("Geben Sie das zweite Wort ein: ")

laenge = laenge - len (wort) - len (zahl)
print laenge

for c in range(laenge-1):
    punkte = punkte + "."

print wort + punkte + zahl

# turtle.....................153
# turtle.....................153 - Vergleich, das Programm arbeitet einwandfrei.
# Zeilenlaenge 30
......................
1234567890123456789012

Boolesche Ausdrücke (Gailer 14)

Bearbeiten

Aufgaben

Scheckgebühr

Bearbeiten
# girokonto = 0
# sparkonto = 0

girokonto = input("Bitte geben Sie den Kontostand Ihres Girokontos ein: ")
sparkonto = input("Bitte geben Sie den Kontostand Ihres Sparkontos ein: ")

if sparkonto > 1500 and girokonto > 1000:
    print "Ok."
else:
    print "Wir berechnen eine Scheckgebuehr in Hoehe von 0,15 EUR."

Wettbewerb „Torten essen“

Bearbeiten

Erst einmal die Angaben in Pfund in kg umrechnen:

pfund = 0.45359237 # 1 Pfund = 0.45359237 kg
wert = input ("Bitte geben Sie den Wert in Pfund ein: ")
wert = wert * pfund
print wert,  "kg"

Man könnte noch optimieren: Man könnte die Zeile wert = wert * pfund einsparen, indem man gleich schreibt: print wert * pfund, "kg". Runden wäre auch nicht schlecht:

pfund = 0.45359237 # 1 Pfund = 0.45359237 kg
wert = input ("Bitte geben Sie den Wert in Pfund ein: ")
print round(wert * pfund,  2),  "kg"

Demnach müssen die Teilnehmer zwischen 106,5 kg und 120 kg schwer sein.

print "State Fair Pie Eating Contest"
gewicht = input ("Bitte geben Sie Ihr Gewicht in kg ein: ")

if 106.5 < gewicht < 120:
    print "Sie duerfen in der Schwergewichtsklasse starten. Sie sind zugelassen."
else:
    print "Sie muessen in einer anderen Klasse starten. Sie sind nicht zugelassen."

Reifendruck, Version 1

Bearbeiten
# Reifendruck
reifendruck_vorne_links   = 0
reifendruck_vorne_rechts = 0
reifendruck_hinten_links   = 0
reifendruck_hinten_rechts = 0

# Eingabe
reifendruck_vorne_rechts = input ("Reifendruck: rechter Vorderreifen ")
reifendruck_vorne_links = input ("Reifendruck: linker Vorderreifen ")
reifendruck_hinten_rechts = input ("Reifendruck: rechter Hinterreifen ")
reifendruck_hinten_links = input ("Reifendruck: linker Hinterreifen ")

# Ausgabe
if reifendruck_vorne_rechts == reifendruck_vorne_links and reifendruck_hinten_rechts == reifendruck_hinten_links:
    print "Reifendruck ist OK"
else:
    print "Bitte fahren Sie zur naechsten Werkstatt. Der Reifendruck ist nicht in Ordnung."

Reifendruck, Version 2

Bearbeiten
# Reifendruck
reifendruck_vorne_links   = 0
reifendruck_vorne_rechts = 0
reifendruck_hinten_links   = 0
reifendruck_hinten_rechts = 0

druck_min = 35
druck_max = 45

print "Reifendruck"

# Eingabe
while True:   
    
    print "- - - - Bitte machen Sie Ihre Angaben! - - - -"

    reifendruck_vorne_rechts = input ("Reifendruck: rechter Vorderreifen ")

    if druck_max < reifendruck_vorne_rechts or reifendruck_vorne_rechts < druck_min:
        print "Warnung: Der Reifendruck ist ausserhalb des erlaubten Bereichs."
        continue

    reifendruck_vorne_links = input ("Reifendruck: linker Vorderreifen ")

    if druck_max < reifendruck_vorne_links or reifendruck_vorne_links < druck_min:
        print "Warnung: Der Reifendruck ist ausserhalb des erlaubten Bereichs."
        continue
        
    reifendruck_hinten_rechts = input ("Reifendruck: rechter Hinterreifen ")

    if druck_max < reifendruck_hinten_rechts or reifendruck_hinten_rechts < druck_min:
        print "Warnung: Der Reifendruck ist ausserhalb des erlaubten Bereichs."
        continue
        
    reifendruck_hinten_links = input ("Reifendruck: linker Hinterreifen ")

    if druck_max < reifendruck_hinten_links or reifendruck_hinten_links < druck_min:
        print "Warnung: Der Reifendruck ist ausserhalb des erlaubten Bereichs."
        continue
        
    # Ausgabe
    if reifendruck_vorne_rechts == reifendruck_vorne_links and reifendruck_hinten_rechts == reifendruck_hinten_links:
        print "Reifendruck ist OK"
        break
    else:
        print "Bitte fahren Sie zur naechsten Werkstatt. Der Reifendruck ist nicht in Ordnung."

print "Ende"

Der Quellcode ist nicht sehr elegant.

Reifendruck, Version 3

Bearbeiten

/Reifendruck

# Reifendruck
reifendruck_vorne_links   = 0
reifendruck_vorne_rechts = 0
reifendruck_hinten_links   = 0
reifendruck_hinten_rechts = 0

druck_min = 35
druck_max = 45

kontrolle_vorne = 0
kontrolle_hinten = 0

print "Reifendruck"

# Eingabe
while True:   
    
    print "- - - - Bitte machen Sie Ihre Angaben! - - - -"

    reifendruck_vorne_rechts = input ("Reifendruck: rechter Vorderreifen ")

    if druck_max < reifendruck_vorne_rechts or reifendruck_vorne_rechts < druck_min:
        print "Warnung: Der Reifendruck ist ausserhalb des erlaubten Bereichs."
        continue

    reifendruck_vorne_links = input ("Reifendruck: linker Vorderreifen ")

    if druck_max < reifendruck_vorne_links or reifendruck_vorne_links < druck_min:
        print "Warnung: Der Reifendruck ist ausserhalb des erlaubten Bereichs."
        continue
        
    reifendruck_hinten_rechts = input ("Reifendruck: rechter Hinterreifen ")

    if druck_max < reifendruck_hinten_rechts or reifendruck_hinten_rechts < druck_min:
        print "Warnung: Der Reifendruck ist ausserhalb des erlaubten Bereichs."
        continue
        
    reifendruck_hinten_links = input ("Reifendruck: linker Hinterreifen ")

    if druck_max < reifendruck_hinten_links or reifendruck_hinten_links < druck_min:
        print "Warnung: Der Reifendruck ist ausserhalb des erlaubten Bereichs."
        continue
        
    # Kontrolle vorn
    if reifendruck_vorne_rechts > reifendruck_vorne_links:
        kontrolle_vorne = reifendruck_vorne_rechts - reifendruck_vorne_links
    else:
        kontrolle_vorne = reifendruck_vorne_links - reifendruck_vorne_rechts
        
    # Kontrolle hinten
    if reifendruck_hinten_rechts > reifendruck_hinten_links:
        kontrolle_hinten = reifendruck_hinten_rechts - reifendruck_hinten_links
    else:
        kontrolle_hinten = reifendruck_hinten_links - reifendruck_hinten_rechts
        
    # Ausgabe
    if kontrolle_vorne > 3.0 or kontrolle_hinten > 3.0:
        print "Bitte fahren Sie zur naechsten Werkstatt. Der Reifendruck ist nicht in Ordnung."
    else:
        print "Reifendruck ist OK"
    break

print "Ende"

Das Programm wirkt auf mich etwas umständlich, weil lang. Ich vermute Redundanz. Außerdem startet das Programm nach einer Warnung einen neuen Programmdurchlauf, was mir ebenfalls noch nicht gefällt.

Die if-Anweisung (Gailer 13)

Bearbeiten

Programmieraufgaben (Java)

Discountpreise

Bearbeiten
betrag = input ("Geben Sie den Gesamtbetrag ein: ")
print "Discountpreis:",  (betrag if betrag <= 1000 else betrag * 0.9)

Überprüfung der Bestellung

Bearbeiten
preis_schraube  = 5
preis_mutter     = 3
preis_u_scheibe = 1

# Kontrolle der Preise
# print preis_schraube,  preis_mutter,  preis_u_scheibe

while True:
        print "Wir nehmen Ihre Bestellung auf!"
        anzahl_schrauben = input ("Wie viele Schrauben bestellen Sie? ")
        anzal_mutter = input ("Wie viele Muttern bestellen Sie? ")
        anzahl_u_scheiben = input ("Wie viele Unterlegscheiben bestellen Sie? ")
        
        if anzahl_schrauben > anzal_mutter:
            print "Kontrollieren Sie Ihre Bestellung!"
            ueberpruefung = input ("Ist Ihre Eingabe korrekt? 0 = ja, 1 = nein ")
            if ueberpruefung == 0:
                break 
            else:
                continue
        else:
            print "Kontrolle ergab keine Besonderheiten."
            break
            
rechnungsbetrag = (anzahl_schrauben * preis_schraube +  anzal_mutter * preis_mutter + anzahl_u_scheiben * preis_u_scheibe) / 100.0
print "Sie haben",  anzahl_schrauben,  "Schrauben,",  anzal_mutter,  "Muttern,",  anzahl_u_scheiben,  "Unterlegscheiben bestellt."
print "Gesamtbetrag: ", rechnungsbetrag ,  "Euro."

Y2K Problem Detektor

Bearbeiten

Erste Programmversion

while True:
    print "Wir berechnen Ihr Alter!"
    geburtsjahr = input("Geben Sie Ihr Geburtsjahr ein: ")
    jahr = input ("Geben Sie das aktuelle Jahr ein: ")
    alter = 0

    if geburtsjahr <= 10:
                    alter = jahr - geburtsjahr
    else:
                    alter = 100 - geburtsjahr + jahr

    print alter

Elegantere Programmversion

while True:
    print "Wir berechnen Ihr Alter!"
    geburtsjahr = input("Geben Sie Ihr Geburtsjahr ein: ")
    jahr = input ("Geben Sie das aktuelle Jahr ein: ")
    print "Sie sind",  (jahr - geburtsjahr if geburtsjahr <= 10 else jahr + 100 - geburtsjahr) , "Jahre alt."

Tuple: Auflisten von Daten

Bearbeiten

Ein Tuple ist eine Aneinanderreihung von Werten, die durch ein Komma getrennt werden.

ein Tuple könnte zum Beispiel so aussehen:

Obstliste = ( "Apfel", "Banane", "Birne" )

Es wurden also drei Strings in dem Objekt Obst abgelegt. Wenn wir alle Obstsorten jetzt wieder aufrufen möchten, dann kann man das mit einer For-Schleife tun:

for Obst in Obstliste:
     print Obst

dabei ist Obst ein Name, der nur für die For-Schleife gilt und mit dem das Obst abgerufen werden kann, das gerade an der Reihe ist.

Die Ausgabe wäre:

Apfel
Banane
Birne

Ein weiteres Beispiel. Wir möchten jetzt aus zwei Tuples Daten auslesen. Der eine Tuple beinhaltet fünf Namen. Der zweite Tuple beinhaltet eine Liste von Frauen. Jetzt möchten wir jedem Mann eine Frau zuordenen.

Vorschlag:

Jungs=("Peter", "Klaus")
Maedels=("Martina", "Laura")

for Junge in Jungs:
         for Maedchen in Maedels:
             print Junge, " und ", Maedchen

Nein, so wäre das nicht richtig! ;D

Ausgabe:

Peter  und  Martina
Peter  und  Laura
Klaus  und  Martina
Klaus  und  Laura