Seite 1 von 1
Münzenwurfen
Verfasst: Mittwoch 20. Oktober 2021, 18:19
von Andre.G
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"
Re: Münzenwurfen
Verfasst: Donnerstag 21. Oktober 2021, 08:36
von __deets__
Und was ist die Frage? Außerdem: Bitte Code Tags benutzen.
Re: Münzenwurfen
Verfasst: Donnerstag 21. Oktober 2021, 09:02
von Sirius3
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.
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!")
Re: Münzenwurfen
Verfasst: Donnerstag 21. Oktober 2021, 11:43
von __blackjack__
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!")
Re: Münzenwurfen
Verfasst: Donnerstag 21. Oktober 2021, 12:18
von rogerb
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!")
Re: Münzenwurfen
Verfasst: Donnerstag 21. Oktober 2021, 12:34
von Buchfink
Und was ist die Frage?
vielleicht ist die Frage die berühmte Frage „nach dem Leben, dem Universum und dem ganzen Rest“?
Spaß

Re: Münzenwurfen
Verfasst: Donnerstag 21. Oktober 2021, 17:05
von einfachTobi
42
Re: Münzenwurfen
Verfasst: Donnerstag 21. Oktober 2021, 17:09
von __blackjack__
Angeber.
