wenn das zu trivial ist, duerft Ihr mich gerne abwuergen hab naemlich schlimmstenfalls noch sone Frage auf Lager
def get_user_guess():
guess = int(raw_input("Input ur guess: "))
return guess
def roll_dice(number_of_sides):
first_roll = randint(1, number_of_sides)
second_roll = randint(1, number_of_sides)
max_val = number_of_sides * 2
print "the maximum possible value is %d" % max_val
guess = get_user_guess()
if guess > max_val:
print "u stupid idiot. U should guess a number less than or equal to 12"
else:
print "Rolling ..."
sleep(2)
print "the first dice shows %d" % (first_roll)
sleep(1)
print "the second dice shows %d" % (second_roll)
sleep(1)
total_roll = first_roll + second_roll
print "the total of both dices is %d" % (total_roll)
print "The result ..."
sleep(1)
if guess == total_roll:
print "U have won !! Ur guess matches with the rolled value"
else:
print "Nah ... better luck next time"
roll_dice(6)
Why isnt it possible to write the code in that way …
print "the maximum possible value is %d" % max_val
if get_user_guess > max_val:
print "u stupid idiot. U should guess a number less than or equal to 12“
… or …
print "the maximum possible value is %d" % max_val
if get_user_guess() > max_val:
print "u stupid idiot. U should guess a number less than or equal to 12"
Das wuerde doch ne komplette Zeile einsparen und trotzdem alle Infos beinhalten? T-T
wahrscheinlich genauso silly und easy wie Nummer 1 ... fuer mich aber ????? Variablen in einer Funktion ....
- __blackjack__
- User
- Beiträge: 13110
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@c.burkes: Gute Frage die Du Dir selber beantworten kannst in dem Du es einfach mal ausprobierst was dann nicht mehr funktioniert. Denn syntaktisch korrekt sind beide Varianten.
Warum verwendest Du noch Python 2?
Warum verwendest Du noch Python 2?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
??? Also ne, auch nach nochmaligem Versuch .... er spuckt, ohne eine User-Eingabe abzuwarten instant beide prints raus ...__blackjack__ hat geschrieben: ↑Montag 4. Februar 2019, 17:33 @c.burkes: Gute Frage die Du Dir selber beantworten kannst in dem Du es einfach mal ausprobierst was dann nicht mehr funktioniert. Denn syntaktisch korrekt sind beide Varianten.
Warum verwendest Du noch Python 2?
Und Python 2, weil man mir sagte, dass drei auf dem freien Markt noch nicht implementiert sei, da zu viele Inkompatibilitaeten zu aelteren Versionen und ich daher zum Anfang mit 2 gut beraten sei?
Jetzt tun sich mir gleich zwei Fragen auf .... :/
Bitte benutz in Zukunft beim posten von Code die dazu notwendigen Tags. Sonst kann man deinen Code nicht entziffern, weil die in Python imminent wichtigen Einrueckungen verloren gehen.
Und in weniger als einem Jahr https://pythonclock.org/ wird Python 2 abgeklemmt. Du sitzt auf dem falschen Pferd, und solltest deine Experten mal in Frage stellen.
Und in weniger als einem Jahr https://pythonclock.org/ wird Python 2 abgeklemmt. Du sitzt auf dem falschen Pferd, und solltest deine Experten mal in Frage stellen.
- __blackjack__
- User
- Beiträge: 13110
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@c.burkes: Du hast da ja *zwei* Varianten gezeigt. Was Du dann beschreibst (keine Benutzereingabe abwartend) betrifft aber nur eine der beiden Varianten. In Python 3 passiert da übrigens etwas anderes. Das hilft Dir vielleicht besser zu verstehen was Du da versuchst miteinander zu vergleichen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
hm .... AMAZING!! ... die Klammern habe ich offensichtlich noch nicht zur Gaenze verstanden ....
okay ... dann mal in Zukunft lieber mit der 3 weiter. Danke dafuer auf jeden Fall! Waer ja doch sehr bloede, erst ne Sprache zu lernen und wenn man 30% damit klar kommt umzusatteln ;D Da kam der Rat ja wenigstens noch ganz zu Anfang =)) Thx!
okay ... dann mal in Zukunft lieber mit der 3 weiter. Danke dafuer auf jeden Fall! Waer ja doch sehr bloede, erst ne Sprache zu lernen und wenn man 30% damit klar kommt umzusatteln ;D Da kam der Rat ja wenigstens noch ganz zu Anfang =)) Thx!
- __blackjack__
- User
- Beiträge: 13110
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@c.burkes: Ich weiss jetzt nicht ob das jetzt klar war/ist: Beide Varianten funktionieren letztendlich *nicht*!
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
hm, ... also meine Konsole nimmt dise Version jetzt anstandslos an .... ich resete gerade nochmal ....
... mhm, ... macht brav seinen job .... ah nee, Du hast Recht .... faengt gut an und endet in einem 'guess' not definded error ..... T-T .... jetzt bin ich wieder so klug, als wie zuvor .... T-T
die Tags habe ich noch nicht gefunden, darum an der Stelle grade mal so .... sorry ... ich werde weiter Sherlock Holmes spielen ... vielleicht findet sich ja aber auch ein Watson ;D
Code: Alles auswählen
"""NumberGuess compares the users guess to the result of two rolled dices"""
from random import randint
from time import sleep
def get_user_guess():
guess = int(raw_input("Input ur guess: "))
return guess
def roll_dice(number_of_sides):
first_roll = randint(1, number_of_sides)
second_roll = randint(1, number_of_sides)
max_val = number_of_sides * 2
print "the maximum possible value is %d" % max_val
if get_user_guess() > max_val:
print "u stupid idiot. U should guess a number less than or equal to 12"
else:
print "Rolling ..."
sleep(2)
print "the first dice shows %d" % (first_roll)
sleep(1)
print "the second dice shows %d" % (second_roll)
sleep(1)
total_roll = first_roll + second_roll
print "the total of both dices is %d" % (total_roll)
print "The result ..."
sleep(1)
if guess == total_roll:
print "U have won !! Ur guess matches with the rolled value"
else:
print "Nah ... better luck next time"
roll_dice(6)
... mhm, ... macht brav seinen job .... ah nee, Du hast Recht .... faengt gut an und endet in einem 'guess' not definded error ..... T-T .... jetzt bin ich wieder so klug, als wie zuvor .... T-T
die Tags habe ich noch nicht gefunden, darum an der Stelle grade mal so .... sorry ... ich werde weiter Sherlock Holmes spielen ... vielleicht findet sich ja aber auch ein Watson ;D
Zuletzt geändert von c.burkes am Montag 4. Februar 2019, 18:36, insgesamt 2-mal geändert.
Gut, ich gebe es zu: 11 Knoepfe, von denen 6 oder so bekannt aus beliebten Textverarbeitungsprogrammen sind, mit den verbliebenen 5 man mal 2 Minuten rumspielt - das ist wirklich zu viel des guten. Da kann man schon mal gefrustet aufgeben nach wenigen Sekunden.
So wie ich nach nur 9 Posts von dir. So ist das halt, kann man halt nix machen
So wie ich nach nur 9 Posts von dir. So ist das halt, kann man halt nix machen
Hi
d.h.
versteht sich am Ende nicht als def get_user_guess = return guess, sondern die funktion versteht sich eher als einen eigenstaendigen Mechanismus, der das Ergebnis guess liefert?
d.h.
Code: Alles auswählen
def get_user_guess():
guess = int(raw_input("Input ur guess: "))
return guess
- __blackjack__
- User
- Beiträge: 13110
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@c.burkes: Genau. Und man kann auch die Funktion selbst als Wert irgendwo anders übergeben. Es gibt auch Funktionen die als Rückgabewert Funktionen haben. Zum Beispiel `functools.partial()` oder `operator.itemgetter()`.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Danke dafuer
Ich weiß zwar noch nicht die Tragweite dieses Wissens abzuschaetzen, aber ich glaube, dass das wohl die Antwort auf einige Stolperer in den letzten Tagen sein wird. Das muss ich mir morgen mal mit frischem Kopf ansehen =)
Vielen Dank
Ich weiß zwar noch nicht die Tragweite dieses Wissens abzuschaetzen, aber ich glaube, dass das wohl die Antwort auf einige Stolperer in den letzten Tagen sein wird. Das muss ich mir morgen mal mit frischem Kopf ansehen =)
Vielen Dank