## Kapitel 11 – Listig – mit Listen arbeiten

# Seite 123 – Listig – mit Listen arbeiten
name = "Erwin"
print(name[0:2])
print(name[2:5])

# Seite 124 – Listig – mit Listen arbeiten
name = "Erwin Mayer"
umgedreht = name[6:11]+" "+name[0:5]
print(umgedreht)

# Seite 125 – Listen in Python
name = "Otto Müller"
print(name[:4])

# Seite 125 – Listen in Python
name = "Otto Müller"
print(name[5:])

# Seite 125 – Listen in Python
name = "Otto Müller"
print (name[:])

# Seite 125 – Listen in Python
name = "Erwin Mayer"
print(name[-1])

# Seite 125 – Listen in Python
dateiname = "meinSong.mp3"
endung = dateiname[-3:]
print(endung)

# Seite 126 – Listen in Python
primliste  =  [2,3,5,7,11,13,17,19,23,29]
print(primliste)

# Seite 126 – Listen in Python
primliste1  =  [2,3,5,7,11,13,17,19,23,29]
primliste2  =  [31,37,41,43,47]
gesamtliste = primliste1 + primliste2
print(gesamtliste)

# Seite 126 – Listen in Python
liste = [7]
print(liste *5)

# Seite 126 – Listen in Python
primliste  =  [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
x = int(input("Gib eine Zahl unter 50 ein"))
if x in primliste:
    print(x,"ist eine Primzahl.")
else:
    print(x,"ist keine Primzahl.")

# Seite 127 – Listen in Python
gemischt = [7,2.55,-25,"Hallo","*",5*3]
print(gemischt)

# Seite 127 – Listen in Python
print(gemischt[3])

# Seite 127 – Listen in Python
print(gemischt[2:5])

# Seite 127 – Listen in Python
gemischt = [7,2.55,-25,"Hallo","*",5*3]
gemischt[0] = "Neu"
print(gemischt)

# Seite 128 – Listen per Programm erzeugen
import datetime
tage = ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag","Samstag", "Sonntag"]
wochentag = datetime.datetime.today().weekday()
print("Heute ist",tage[wochentag])

# Seite 129 – Die for-Schleife mit einer Liste
import random
zahlenliste = []
for i in range(20):
    zahl = random.randint(1,6)
    zahlenliste.append(zahl)
print(zahlenliste)

# Seite 129 – Die for-Schleife mit einer Liste
for z in zahlenliste:
    print(z)

# Seite 130 – Die for-Schleife mit einer Liste
for x in [1,2,3,4,5,6,7,8,9,10]:

# Seite 130 – Die for-Schleife mit einer Liste
list(range(anfang,ende))

# Seite 130 – Die for-Schleife mit einer Liste
print(list(range(0,100))

# Seite 130 – Die for-Schleife mit einer Liste
for z in range(100):

# Seite 130 – Die for-Schleife mit einer Liste
for z in range(100):
    print(z+1)

# Seite 131 – Mehr Befehle, Methoden und Funktionen für Listen
for z in range(1,101):
    print(z+1)

# Seite unbekannt
zahlenliste = [4, 3, 2, 6, 1, 4, 5, 3, 5, 2,1, 6, 6, 6, 4, 1, 3, 1, 3, 2]
print(len(zahlenliste))

# Seite 131 – Mehr Befehle, Methoden und Funktionen für Listen
print(min(zahlenliste))
print(max(zahlenliste))

# Seite 132 – Mehr Befehle, Methoden und Funktionen für Listen
zahlenliste.sort()

# Seite 132 – Mehr Befehle, Methoden und Funktionen für Listen
print(zahlenliste)

# Seite 132 – Mehr Befehle, Methoden und Funktionen für Listen
random.shuffle(zahlenliste)

# Seite 132 – Mehr Befehle, Methoden und Funktionen für Listen
print(zahlenliste.count(6))

# Seite 132 – Mehr Befehle, Methoden und Funktionen für Listen
import random
zahlenliste = []
for i in range(120):
    zahl = random.randint(1,6)
    zahlenliste.append(zahl)
for wzahl in range (1,7):
    print(wzahl, ":" , zahlenliste.count(wzahl))

# Seite 133 – Mehr Befehle, Methoden und Funktionen für Listen
import random
anzahlen = [0,0,0,0,0,0]
for i in range(100000):
    zahl = random.randint(1,6)
    anzahlen[zahl-1] = anzahlen[zahl-1] + 1
for z in range(6):
    print(z+1,":",anzahlen[z])

# Seite 134 – Ein Lottozahlen-Tipp
import random
for i in range(6):
    print(random.randint(1,49))

# Seite 135 – Ein Lottozahlen-Tipp
import random
lottotipp = []
for i in range(6):
    zahl = random.randint(1,49)
    while zahl in lottotipp:
        zahl = random.randint(1,49)
    lottotipp.append(zahl)
print(lottotipp)

# Seite 136 – Methode Nr. 2: Den echten Vorgang simulieren
import random
gesamtliste = list(range (1,50))
lottotipp = []
for i in range(6):
    zahl = random.randint(1,len(gesamtliste))
    lottotipp.append(gesamtliste[zahl-1])
    del(gesamtliste[zahl-1])
print(lottotipp)

# Seite 137 – Methode Nr. 3: Mit cleveren Tricks arbeiten
import random
gesamtliste = list(range(1,50))
random.shuffle(gesamtliste)
lottotipp = gesamtliste[0:6]
print(lottotipp)

# Seite 137 – Methode Nr. 4
import random
gesamtliste = list(range(1,50))
lottotipp = random.sample(gesamtliste,6)
print(lottotipp)

# Seite 137 – Methode Nr. 4
import random
lottotipp = random.sample(range(1,50),6)
print(lottotipp)

# Seite 138 – Das Lottospiel: Selbst tippen und gewinnen
import random
meinTipp = []
for i in range(6):
    t = input("Gib eine Tippzahl ein:")
    meinTipp.append(t)
allezahlen = range(1,50)
ziehung = random.sample(allezahlen,6)
meinTipp.sort()
ziehung.sort()
print(meinTipp)
print(ziehung)

# Seite 139 – Das Lottospiel: Selbst tippen und gewinnen
richtige = 0
for z in meinTipp:
    if z in ziehung:
        richtige = richtige + 1
print("Richtig getippte Zahlen:",richtige)

# Seite 140 – Das Lottospiel: Selbst tippen und gewinnen
import random

meinTipp = []
for i in range(6):
    t = int(input("Gib eine Tippzahl ein: "))
    meinTipp.append(t)

meinTipp.sort()

allezahlen = list(range(1, 50))

for _ in range(1000):
    ziehung = random.sample(allezahlen, 6)
    ziehung.sort()

    richtige = 0
    for z in meinTipp:
        if z in ziehung:
            richtige += 1

    if richtige > 2:
        print("Dein Tipp:", meinTipp)
        print("Ziehung :", ziehung)
        print("Richtige:", richtige)

# Seite 141 – Mehrdimensionale Listen
vokabeln = [ ["Tisch","table"] , ["Auto","car"] , ["Haus","house"] ]

print(vokabeln [0])

print(vokabeln [0] [0])

print(vokabeln [0] [1])

# Seite 142 – Mehrdimensionale Listen
vokabeln = [["Tisch","table"],["Auto","car"],["Haus","house"]]
for vok in vokabeln:
    print(vok[0],"heißt",vok[1]+".")

# Seite 142 – Mehrdimensionale Listen
vokabeln = [["Tisch","table"],["Auto","car"],["Haus","house"]]
for vok in vokabeln:
    eingabe = input("Wie heißt "+vok[0]+" auf Englisch?")
    if eingabe == vok[1]:
        print("Richtig!")
    else:
        print("Leider falsch!")

# Seite 142 – Mehrdimensionale Listen
import random
vokabeln = [["Tisch","table"],["Auto","car"],["Haus","house"]]
random.shuffle(vokabeln)

# Seite 143 – Mehrdimensionale Listen
import random
vokabeln = [["Tisch","table"],["Auto","car"],["Haus","house"]]
random.shuffle(vokabeln)
richtig = 0
falsch = 0
for vok in vokabeln:
    eingabe = input("Wie heißt "+vok[0]+" auf Englisch?")
    if eingabe == vok[1]:
        print("Richtig!")
        richtig = richtig + 1
    else:
        print("Leider falsch!")
        falsch = falsch + 1
print("Richtige Antworten:",richtig," - falsche Antworten:",falsch)



