Zahlenraten

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.
Antworten
krinust
User
Beiträge: 12
Registriert: Dienstag 25. Oktober 2016, 18:18

Ich habe mich mal an einem Programm zum Zahlenraten probiert und wollte fragen, ob das so halbwegs "pythonisch" ist. Wäre nett, wenn mal jemand drüberschauen könnte:

Code: Alles auswählen

import random

def auswerten(geratene_zahl, geheime_zahl):
	if geratene_zahl == geheime_zahl:
		print "Gewonnen!"
		return True
	elif geratene_zahl > geheime_zahl:
		print "Eingegebene Zahl zu groß."
	else:
		print "Eingegebene Zahl zu klein."
	return False


def main():
	geheime_zahl = random.randint(1, 100)
	anzahl_versuche = 1

	while True:
		geratene_zahl = int(raw_input("Raten: "))

		status = auswerten(geratene_zahl, geheime_zahl)
		if status:
			print "Anzahl Versuche: {}".format(anzahl_versuche)
			break

		anzahl_versuche += 1


if __name__ == '__main__':
	main()

Sirius3
User
Beiträge: 17738
Registriert: Sonntag 21. Oktober 2012, 17:20

@krinust: Bis auf dass man mit vier statt mit drei Leerzeichen pro Ebene einrückt, sieht das doch ganz ordentlich aus. Wenn man faul ist, läßt man zählen. Das Ausgeben der Anzahl der Versuche gehört eigentlich nicht mehr in die Schleife.

Code: Alles auswählen

from itertools import count
def main():
    geheime_zahl = random.randint(1, 100)
    for anzahl_versuche in count(1):
        geratene_zahl = int(raw_input("Raten: "))
        if auswerten(geratene_zahl, geheime_zahl):
            break
    print "Anzahl Versuche: {}".format(anzahl_versuche)
krinust
User
Beiträge: 12
Registriert: Dienstag 25. Oktober 2016, 18:18

Vielen Dank für deine Antwort, dieses "count" kannte ich bisher noch nicht.
Antworten