import math
import random
Münzwurf = 0
Kopf = 0
Zahl = 0
while Münzwurf < 1000:
Score = random.randint(0,1)
if Score == 1:
Kopf = Kopf + 1
Münzwurf = Münzwurf + 1
else:
Zahl = Zahl + 1
Münzwurf = Münzwurf + 1
Kopf_percent = Kopf / 10
Zahl_percent = Zahl / 10
print("Von 1000 Münz-Würfen:\n")
print("Sie haben: " + str(Kopf) + " " + str(Kopf_percent) + "%" + " Kopf geworfen!\n")
print("Sie haben: " + str(Zahl) + " " + str(Zahl_percent) + "%" + " Zahl geworfen!\n"
Münzenwurfen
Einrückungen sind wichtig, damit der Compiler erkennen kann, was wo dazu gehört. Deine letzten paar Zeilen sind zu weit eingerückt. Ganz am Ende fehlt eine schließende Klammer.
math wird importiert, aber nie benutzt.
Variablennamen schreibt man grundsätzlich komplett klein.
Statt Strings mit + zusammenzustückeln benutzt man format-Strings.
Die / 10 sind magisch, weil man eigentlich durch 1000 teilen müßte, und die Prozent erst bei der Ausgabe mit 100 multipliziert.
Statt der while-Schleife würde man eine for-Schleife benutzen.
math wird importiert, aber nie benutzt.
Variablennamen schreibt man grundsätzlich komplett klein.
Statt Strings mit + zusammenzustückeln benutzt man format-Strings.
Die / 10 sind magisch, weil man eigentlich durch 1000 teilen müßte, und die Prozent erst bei der Ausgabe mit 100 multipliziert.
Statt der while-Schleife würde man eine for-Schleife benutzen.
Code: Alles auswählen
import random
kopf = 0
zahl = 0
for muenzwurf in range(1000):
score = random.randint(0,1)
if score == 1:
kopf += 1
else:
zahl += 1
print("Von 1000 Münz-Würfen:")
print(f"Sie haben: {kopf} {kopf / 1000:.0%} Kopf geworfen!")
print(f"Sie haben: {zahl} {zahl / 1000:.0%} Zahl geworfen!")
- __blackjack__
- User
- Beiträge: 13111
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Ich würde da noch die Anzahl der Würfe nur *einmal* in den Quelltext schreiben, damit man überall weiss, was diese magische 1000 eigentlich bedeutet, und sie auch leicht ändern kann, ohne Gefahr zu laufen sie nicht überall und/oder nicht überall gleich zu ändern:
Code: Alles auswählen
import random
wurf_anzahl = 1000
kopf = 0
zahl = 0
for _ in range(wurf_anzahl):
score = random.randint(0, 1)
if score == 1:
kopf += 1
else:
zahl += 1
print(f"Von {wurf_anzahl} Münz-Würfen:")
print(f"Sie haben: {kopf} {kopf / wurf_anzahl:.0%} Kopf geworfen!")
print(f"Sie haben: {zahl} {zahl / wurf_anzahl:.0%} Zahl geworfen!")
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Und nur für den Fall, dass die Frage eigentlich "Wie macht man das ohne if-Anweisung?" lauten sollte:
Code: Alles auswählen
import random
wurf_anzahl = 1000
kopf_anzahl = sum(random.randint(0, 1) for _ in range(wurf_anzahl))
zahl_anzahl = wurf_anzahl - kopf_anzahl
print(f"Von {wurf_anzahl} Münz-Würfen:")
print(f"Sie haben: {kopf_anzahl} {kopf_anzahl / wurf_anzahl:.0%} Kopf geworfen!")
print(f"Sie haben: {zahl_anzahl} {zahl_anzahl / wurf_anzahl:.0%} Zahl geworfen!")
- __blackjack__
- User
- Beiträge: 13111
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Angeber.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman