Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
import random
def ziehe_zahlen():
zahlen = []
while len(zahlen) < 6:
zahl = random.randint(1, 49)
if zahl not in zahlen:
zahlen.append(zahl)
zahlen.sort()
return zahlen
def main():
zahlen = ziehe_zahlen()
print(zahlen)
if __name__ == "__main__":
main()
Und jetzt die Funktion drei mal aufrufen, ist wieder Deine Aufgabe.
Ansonsten gilt noch das von mir geschriebene: eingerückt wird mit 4 Leerzeichen, keine Tabs. Variablennamen und Funktionen schreibt man kompett klein.
Konstanten dagegen komplett gross: `ANFANG = 1`.
`insert` braucht man selten, hier definitiv nicht. Das ist ein `append`.
Oh mein Gott ich bin echt richtig dumm ich danke dir so sehr ok das mit dem wiederholen schaffe ich jetzt und poste das Ergebnis hier rein
import random
def ziehe_zahlen():
zahlen = []
while len(zahlen) < 6:
zahl = random.randint(1, 49)
if zahl not in zahlen:
zahlen.append(zahl)
zahlen.sort()
return zahlen
def main():
zahlen = ziehe_zahlen()
print(zahlen)
if __name__ == "__main__":
main()
Und jetzt die Funktion drei mal aufrufen, ist wieder Deine Aufgabe.
Ansonsten gilt noch das von mir geschriebene: eingerückt wird mit 4 Leerzeichen, keine Tabs. Variablennamen und Funktionen schreibt man kompett klein.
Konstanten dagegen komplett gross: `ANFANG = 1`.
`insert` braucht man selten, hier definitiv nicht. Das ist ein `append`.
Jetzt Funkt es endlich:))) ich danke euch allen hier der richtige Code:
import random
def ziehe_zahlen():
zahlen = []
while len(zahlen) < 6:
zahl = random.randint(1, 49)
if zahl not in zahlen:
zahlen.append(zahl)
zahlen.sort()
return zahlen
def main():
for i in range(3):
zahlen = ziehe_zahlen()
print(zahlen)
if __name__ == "__main__":
main()
kannst du zum Aufsammeln der Lottozahlen nicht ein Set statt einer Liste verwenden? Das hätte die schöne Eigenschaft, dass Duplikate beim Einfügen automatisch verworfen werden, da Sets keine Duplikate enthalten können. Die If-Abfrage würde also wegfallen. Die Funktion sorted() macht aus dem Set wieder eine sortierte Liste.
Statt append() verwendet man allerdings add() für Sets. Bei sehr großen Datenmengen würde das auch deutlich performanter sein.
Vielleicht eine interessante Zusatzaufgabe mal drüber nachzudenken unter welchen Umständen die eine oder andere Art das zu lösen besser ist. Also was die Vor- und Nachteile der beiden Varianten jeweils sind. Ist eventuell für absolute Anfänger noch ein bisschen zu hoch gegriffen und bei 6 aus 49 ist das auch ziemlich egal welche Variante man nimmt. Nur so als Idee/Anregung.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Mischen von 49 Zahlen dauert länger als 6 mal zufällig ziehen. Allerdings nimmt die Wahrscheinlichkeit zu, dass man nochmal ziehen muss.
Das dürfte sich bei anderen Konstellationen - z.B. 49 aus 49 extrem verlagern.
@Sirius3: Naja nicht wirklich unendlich, weil man da dann ja als nächstes den Erwartungswert mit einbeziehen würde, oder? Denn auch wenn das in einem fast unendlich unwahrscheinlichen Fall tatsächlich unendlich ist, erwartet man den Abbruch ja dann doch etwas früher.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman