## Kapitel 10 – Schleifen – Wiederholungen machen Programme stark

### Seite 98 – … und so die Sache mit dem »for«

for i in range(10):
    print(i)


### Seite 99 – Würfeln ohne Ende

import random

for i in range(100):
    wuerfel = random.randint(1,6)
    print(wuerfel, end = " ")

print("\nDie Schleife ist beendet")


### Seite 101 – Würfeln ohne Ende

import random

anzahl = int(input("Wie oft soll gewürfelt werden?"))
summe = 0

for i in range(anzahl):
    wuerfel = random.randint(1,6)
    summe = summe + wuerfel
    print(wuerfel, end = " ")

print("\nDie Schleife ist beendet")
print("Der Durchschnitt ist:" , summe / anzahl)


### Seite 103 – Würfeln ohne Ende

import random

for i in range(10):
    summe = 0
    for j in range(1000):
        wuerfel = random.randint(1,6)
        summe = summe + wuerfel
    print("Der Durchschnitt ist:" , summe / 1000)

print("\nDie Schleife ist beendet")


### Seite 105 – Würfeln ohne Ende

import random
summe = 0
weiter = "j"
wuerfel = 6
while (weiter == "j") and (wuerfel > 1):
    wuerfel = random.randint(1,6)
    if wuerfel > 1:
        summe = summe + wuerfel
    else:
        summe = 0
    print("Du hast eine",wuerfel,"gewürfelt.")
    print("Deine Punktzahl ist",summe)
    if wuerfel > 1:
        weiter = input("Weiterspielen? j/n")
        

### Seite 107 – Würfeln ohne Ende

import random
zufallszahl = random.randint(1,100)
ratezahl = 0
while ratezahl != zufallszahl:
    ratezahl = int(input("Rate die Zahl:"))
    if ratezahl > zufallszahl:
        print(ratezahl,"ist zu groß.")
    elif ratezahl < zufallszahl:
        print(ratezahl,"ist zu klein.")
print("Glückwunsch,",zufallszahl,"ist die richtige Zahl!")


### Seite 109 – Würfeln ohne Ende

import random
zufallszahl = random.randint(1,100)
zaehler = 0
ratezahl = 0
while ratezahl != zufallszahl:
    ratezahl = int(input("Rate die Zahl:"))
    zaehler = zaehler + 1
    if ratezahl > zufallszahl:
        print(ratezahl,"ist zu groß.")
    if ratezahl < zufallszahl:
        print(ratezahl,"ist zu klein.")
print("Glückwunsch,",zufallszahl,"ist die richtige Zahl!")
print("Du hast",zaehler,"Versuche gebraucht.")


### Seite 110 – Das kleine Einmaleins
import random
zahl1 = random.randint(3,9)
zahl2 = random.randint(3,9)
loesung = zahl1 * zahl2
print(zahl1,"x",zahl2)

eingabe = int(input("Wie lautet die Lösung?"))

if eingabe == loesung:
    print("Die Lösung ist richtig!")
else:
    print("Leider falsch! Richtig wäre",loesung)


### Seite 111 – Lösungsweg

import random
punkte = 0
fehler = 0
eingabe = 0
while (eingabe != 99):
    zahl1 = random.randint(3,9)
    zahl2 = random.randint(3,9)
    loesung = zahl1 * zahl2
    print(zahl1,"x",zahl2)
    eingabe = int(input("Wie lautet die Lösung?"))
    if eingabe == loesung:
        print("Die Lösung ist richtig!")
        punkte = punkte + 1
    else:
        print("Leider falsch! Richtig wäre", loesung)
        fehler = fehler + 1
print("OK.",punkte,"Punkte und",fehler,"Fehler.")


### Seite 112 – Lösungsweg

import random
punkte = 0
fehler = 0
eingabe = 0

while (eingabe != 99):
    zahl1 = random.randint(3,9)
    zahl2 = random.randint(3,9)
    loesung = zahl1 * zahl2
    print(zahl1,"x",zahl2)
    eingabe = int(input("Wie lautet die Lösung?"))
    if eingabe != 99:
        if eingabe == loesung:
            print("Die Lösung ist richtig!")
            punkte = punkte + 1
        else:
            print("Leider falsch! Richtig wäre",loesung)
            fehler = fehler + 1
print("OK.",punkte,"Punkte und",fehler,"Fehler.")

### Seite 112 – Lösungsweg
print("Leider falsch!",zahl1,"x",zahl2,"=",loesung)

### Seite 112 – Lösungsweg
print("Richtig!",zahl1,"x",zahl2,"=",loesung)


### Seite 114 - Schleife verlassen mit break

while True:
    x = int(input("Gib eine Zahl ein oder 0 für Ende."))
    if x == 0:
        break
    print("Das Doppelte deiner Zahl ist:",x*2)
print("Die Schleife wurde verlassen")


### Seite 114 - Schleife vorzeitig fortsetzen mit continue

x = 0
while x < 21:
    x += 1
    if x == 13:
        continue
    print(x)
    

### Seite 117 – Das Probeverfahren

x = int(input("Gib eine Zahl ein"))
teiler = 2
primzahl = True
while (teiler < x) and (primzahl):
    if (x % teiler) == 0:
        primzahl = False
    else:
        teiler = teiler + 1
if primzahl:
    print(x , "ist eine Primzahl.")
else:
    print(x , "ist keine Primzahl. Teiler:" , teiler)


### Seite 119 – Das Probeverfahren

x = 2
for i in range(999):
    teiler = 2
    primzahl = True
    maximum = x ** 0.5
    while (teiler <= maximum) and (primzahl):
        if (x % teiler) == 0:
            primzahl = False
        else:
            teiler = teiler +1
    if primzahl:
        print(x)
    x = x + 1


### Seite 120 – Das Schachrätsel

menge = 1
summe = 0
for i in range(999)
    summe = summe + menge
    menge = menge * 2
print("Anzahl der Reiskörner insgesamt:" , summe)

### Seite 121 – Zins und Zinseszins

geld = 100
for i in range(100):
    geld = geld * 1.05
print("Nach hundert Jahren sind",geld,"Euro angesammelt.")

