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.
# Zufall spiel
import random
random.seed()
# zufall defeniert 1 bis 5"
a = random.randint(1,5)
b = random.randint(1,5)
c = a+b
print ("Der computer wählt eine zufall zahl von 1 bis 10")
print ("Und du sollst raten welche es ist")
print ("Du hast 5 versuche")
print ("Bitte eine Zahl eingeben")
for i in range(5):
z = input()
zahl = int(z)
if zahl == c:
print(" Deine zahl ist richtig")
break
else: zahl != c , print("versuche nochmal")
print ("Zufal zahl ist: ",c)
if zahl == c:
print("Du hast gewonnen")
else: print(" Du hast verloren")
Hallo leute bin neue hier und auch un python gerade angefangen python zu lernen hoffe komme ich weiter und werde gut mal schauen:
so zu meine sache ich möchte in meine programm zwei sachen bauen und zwar
wenn ich 2 nummer zu hoch oder 2 nummer zu klein als c den zufall zahl möchte ich das er mir sagt warm ,und wen ich 1 nummer zu hoch oder zu klein als c den zufall zahl das er mir wärme schreibt als hilfe tip für den spieke wie baue ich das am besten
@abdou: Dein computer wählt aber eine Zahl zwischen 2 und 10 und mit 6 hat man die größten Gewinnchancen. Die Einrückung sollte immer 4 Leerzeichen sein und nicht mal 3 und mal 4. Nach : sollte immer eine neue Zeile anfangen (außer bei dicts und lambdas). Wo ist der Sinn, beim ersten "else" ein Tupel zu erzeugen, das nicht verwendet wird?
Wo ist Dein Problem, die richtige Bedingung für Deine Ausgaben zu finden?
BlackJack hat geschrieben:@abdou: Der `seed()`-Aufruf ist unnötig, den solltest Du raus nehmen.
Hallo,
mal für einen Neuling...
Das Codebeispiel kommt so ähnlich in dem Buch "Einstieg in Python" vor.
Da ist das genau so beschrieben mit dem seed.
Kannst du vielleicht erklären, warum das unnötig ist, und was das evtl. eigentlich verursachen sollte?
Die Verwendung von abs() ist eine gute Idee. Es heißt allerdings in Python elif und nicht elseif. Außerdem würde ich hier mit == anstelle von <= arbeiten. Bei deinem Beispiel würde der elif-Zweig gar nicht erst betreten werden, da eine Zahl <= 1 immer auch <= 2 ist. Insofern guckt sich der Programmfluss den zweiten Zweig gar nicht mehr an, sobald der erste Zweig betreten wurde.
@Dirki: Der (Pseudo)Zufallsgenerator wird beim importieren des Moduls bereits mit einem passenden ”seed”-Wert versorgt. Im besten Fall ist der Aufruf einfach überflüssig, im schlechtesten Fall kann er sogar dafür sorgen das es weniger ”Zufall” gibt.
@Dirki:
Wir reden hier von Pseudozufall. Der Zufallszahlengenerator wird einmalig mit einem möglichst zufälligen Wert initialisiert (z.B. die aktuelle Uhrzeit). Von da an läuft das Erzeugen von Zufallszahlen nach einem festen Muster ab. Im Grunde funktioniert das ähnlich wie bei einem Zustandsautomaten. Mit random.seed() setzt du den Generator wieder auf einen Initialwert. Du kannst hier auch ein Argument mitgeben. Zum Testen ist das ganz nett, weil der weitere "zufällige" Ablauf dann immer auf diesem Argument beruht:
Das man nicht glauben darf was man liest, kann man doch schon in den fünf Geboten in der Principia Discordia nachlesen. Das steht da schwarz auf weiss, also muss es stimmen.