würde gerne dass programm noch abrunden (ja ja ich weit! ihr fragt euch schon und wat er gemacht? ihr habt ja recht aber es hilft mir enorm)
ein counter wäre cool, bzw bei jedem richtigen guess ein punkt mehr oder einfach der counter +1
dachte es mir mal so:
Counter/Points
Guess a Number from 1-10: :::
Wow you did it
Counter/Points 1
New round
oder so
MfG
Gabriel
[Point - counter / Plx Tipps Hints] - Guessgame
Du solltest deine Kommentare besser lesen - wenn wie dort angegeben die While Schleife verlassen wird, wie soll der Teil danach jemals erreicht werden?Frozen hat geschrieben:Code: Alles auswählen
while 1: ... break # While Schleife verlassen if i == number: ....
Damit definierst du eine Funktion - du solltest dir vllt. einmal das Tutorial anschauen: http://docs.python.org/tut/tut.htmlganz anders als mein anfänglicher code, ich muss mich mal in deins einarbeiten und gleich die erste n00b frage was ist def?
[url=http://www.leckse.net/artikel/meta/profilieren]Profilieren im Netz leicht gemacht[/url]
Vielleicht sollte man das "vielleicht" in dem letzten Satz durch "ganz dringend" ersetzen.
jo kp meine lieben freunde ich habe es ja schon gestern nachgeschaut usw, dokumentation heruntergeladen tutorial von Alan Guald bin ich am lesen so wie auch das tutorial von der python seite usw
ich danke trodzdem
MfG
Gabriel
ich danke trodzdem
MfG
Gabriel
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Vielleichst solltest du dir doch mal ein Tutorial durchlasen? def definiert eine Funktion. Der Code hat einfach Funktionen gebraucht, dadurch wurde er gleich leserlicher.Frozen hat geschrieben:ganz anders als mein anfänglicher code, ich muss mich mal in deins einarbeiten und gleich die erste n00b frage was ist def?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ich habe mal versucht anhand der gegebene hilfe was zu machen: points_counter aber klararweiße ist wieder ein fehler drinn, ich habe zwar einen zähler der aber nachdem ersten guess wieder auf 0 ist , ich vermute wegen den return points
was sagt ihr? wie kann ich es ändern plx tipps, aber bitte keine fertige codes! war eh froh dass ich den counter "geschafft" habe bis 1
und im unteren bereich wo es ausgegeben wird:
MfG
Gabriel
oder ganze code wenn dass euch die übersicht fehlt....
was sagt ihr? wie kann ich es ändern plx tipps, aber bitte keine fertige codes! war eh froh dass ich den counter "geschafft" habe bis 1
Code: Alles auswählen
def points_counter(computer, player):
points = 0
points += 1 if computer == player else False
return points
Code: Alles auswählen
if check_range(user_entry):
print "Error: Out of range (1-10)!"
correct = check_correct(prog_entry, user_entry)
display_message(correct)
if correct:
print "Your Score: "
print points_counter(prog_entry, user_entry)
print 'New round'
break
Gabriel
oder ganze code wenn dass euch die übersicht fehlt....
Code: Alles auswählen
#!/usr/bin/env python
# -+- coding: UTF-8 -*-
import random
def greet():
print "Welcome to the Guessing Game"
def check_range(number):
"""Checks the range of the entrered number.
Validity range: 1 <= number <= 10"""
valid = True if number > 10 or number < 1 else False
return valid
def check_correct(computer, player):
"""Checks whether the value entered by the user
is the same as the computers"""
correct = True if computer == player else False
return correct
def display_message(won):
"""Opens the correct files and chooses random responses,
which will be displayed"""
filename = 'right.txt' if won else 'wrong.txt'
f_obj = file(filename, 'r')
answer = random.choice(f_obj.readlines())
f_obj.close()
print answer,
def points_counter(computer, player):
points = 0
points += 1 if computer == player else False
return points
def main():
greet()
while True:
prog_entry = random.randrange(1, 11, 1)
while True:
user_entry = raw_input("Guess a Number from 1-10: ")
try:
# String eingabe in Zahl umwandeln
user_entry = int(user_entry)
except ValueError:
# Fehler abfangen, wenn die Eingaben nicht
# umgewandelt werden kann
print "Error: Not a number!"
if check_range(user_entry):
print "Error: Out of range (1-10)!"
correct = check_correct(prog_entry, user_entry)
display_message(correct)
if correct:
print "Your Score: "
print points_counter(prog_entry, user_entry)
print 'New round'
break
if __name__ == '__main__':
main()
Zuletzt geändert von Frozen am Samstag 10. Februar 2007, 10:39, insgesamt 1-mal geändert.
Wenn du "klarerweise" schreiben würdest, ist es auch ein deutsches Wort und du bräuchtest keine Anführungszeichen...Frozen hat geschrieben:Ich habe mal versucht anhand der gegebene hilfe was zu machen: points_counter aber 'klararweiße' ist wieder ein fehler drinn
Ich vermute eher es liegt daran, dass points am Anfang der Funktion immer mit 0 initialisiert wird, d.h. die Funktion kann nur entweder "1" zurückgeben, oder... hmm... naja, was immer halt bei "0 + False" herauskommt, womit wir beim nächsten Problem wären:ich habe zwar einen zähler der aber nachdem ersten guess wieder auf 0 ist , ich vermute wegen den return points
Code: Alles auswählen
points += 1 if computer == player else False
Code: Alles auswählen
if computer == player:
points += 1
else:
points += False
Code: Alles auswählen
correct = check_correct(prog_entry, user_entry)
display_message(correct)
if correct:
print "Your Score: "
print points_counter(prog_entry, user_entry)
print 'New round'
break
Deine Einrückung bei points_counter ist auch nicht konsistent zum Rest des Codes, was zwar grundsätzlich noch kein Problem ist, aber du solltest 4 Spaces als Einrückung verwenden und deinen Editor so konfigurieren, dass er auch Tabs so umwandelt
[url=http://www.leckse.net/artikel/meta/profilieren]Profilieren im Netz leicht gemacht[/url]
Du bindest eine 0 an `points` addierst dann entweder 1 oder False zu der 0 und gibst das Ergebnis zurück. Und ich bin verwirrt.Frozen hat geschrieben:was sagt ihr? wie kann ich es ändern plx tipps, aber bitte keine fertige codes! war eh froh dass ich den counter "geschafft" habe bis 1
Code: Alles auswählen
def points_counter(computer, player): points = 0 points += 1 if computer == player else False return points
Wie Luzandro schon schrieb, ist diese Form des "inline" ``if`` erst ab Python 2.5 möglich. Du solltest davon ausgehen, dass das noch nicht so weit verbreitet ist. Ich benutze zum Beispiel 2.4 bis ich auf eine Ubuntu-Version aktualisiere bei der 2.5 als Paket installiert wird. Bin jetzt auch noch bei 6.06 weil mir die 6.10 nicht wirklich etwas bringt, was ich unbedingt brauche.
Ausserdem wird empfohlen um das ``if``-Konstrukt eine Klammer zu setzen. Das ist syntaktisch nicht erforderlich, macht es aber weniger verwirrend.
Mit den `check_*` Funktionen übertreibst Du es ein wenig. Du schreibst sie komplizierter als nötig und wenn man sie vereinfacht, dann sind die wirklich einfachen Ausdrücke keine Funktionen wert.
Code: Alles auswählen
def check_range(number):
"""Checks the range of the entrered number.
Validity range: 1 <= number <= 10"""
return 1 <= number <= 10
def check_correct(computer, player):
"""Checks whether the value entered by the user
is the same as the computers"""
return computer == player
Ok, werde ich mal machen, ist logischLuzandro hat geschrieben: Wenn du "klarerweise" schreiben würdest, ist es auch ein deutsches Wort und du bräuchtest keine Anführungszeichen...
Es ist schwierig dein eigegenen code auf deutsch korrekt wiederzugeben, ich habe es falsch verstanden und bin einen falschen gedankenweg gegangen.BlackJack hat geschrieben: Du bindest eine 0 an `points` addierst dann entweder 1 oder False zu der 0 und gibst das Ergebnis zurück. Und ich bin verwirrt.
Schon dieser Sazt hilft mir und werde veruschen wat auf die reihe zu bringen.
(Wie ist eigentlihc Ubuntu? möchte es mir auch zulegen)
MfG
Gabriel
Immer hir reinschauen es werden noch tipps gefrat
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ubuntu - nutze ich auch auf einem meiner Computer, wie BlackJack Version 6.06 (aber aus anderen Gründen). Aber auf meinem Debian habe ich hingegen Python 2.5 kompiliert, eben weil ich dann mit den neuen Features rumspielen kann.Frozen hat geschrieben:(Wie ist eigentlihc Ubuntu? möchte es mir auch zulegen)
Edit: Und den Counter müsstest du in meinem Code innerhalb der ersten while-Schleife implementieren, außerhabl der zweiten. Innerhalb der zweiten müsstest du dann einfach die Werte setzen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hmmmm
noch verstehe ich es nicht aber es ist auch schon spät , ne ich werde es mir dann wieder in ruhe anschauen und versuchen es hinzubekommen wenn nicht dann wende ich mich, wie immer, an euch....
Ich weiß es gehört nich hierher aber weil es schon angefange worden ist eine kurze frage über ubuntu...
Habe racks(also die ausziebahren HDs) und 2 masterplatten, ich change immer zwischen denen hängt davon ab ob ich spielen möchte oder einfach nur cs2 (photoshop cs2) use.
habe eine dritte platte bekommen 50GB habe noch mal ein rack(halt case für die HD die ich dann in meinen case reinschieben kann und damit booten kann) gefunden eingebaut und auf master gesetzt (also nicht auf slave) und möchtes darauf ubuntu installieren.
ich habe ja mehere festplatten zusammengeschaltet halt raid-controller, gibts es dann probleme mit ubuntu? musste unter xp dann noch extra treiber install damit es funktioniert.... gibt oder geht dann der treiber auch unter ubuntu? sonst noch tipps für einen der gerade ubuntu install möchte
MfG
Frozen
noch verstehe ich es nicht aber es ist auch schon spät , ne ich werde es mir dann wieder in ruhe anschauen und versuchen es hinzubekommen wenn nicht dann wende ich mich, wie immer, an euch....
Ich weiß es gehört nich hierher aber weil es schon angefange worden ist eine kurze frage über ubuntu...
Habe racks(also die ausziebahren HDs) und 2 masterplatten, ich change immer zwischen denen hängt davon ab ob ich spielen möchte oder einfach nur cs2 (photoshop cs2) use.
habe eine dritte platte bekommen 50GB habe noch mal ein rack(halt case für die HD die ich dann in meinen case reinschieben kann und damit booten kann) gefunden eingebaut und auf master gesetzt (also nicht auf slave) und möchtes darauf ubuntu installieren.
ich habe ja mehere festplatten zusammengeschaltet halt raid-controller, gibts es dann probleme mit ubuntu? musste unter xp dann noch extra treiber install damit es funktioniert.... gibt oder geht dann der treiber auch unter ubuntu? sonst noch tipps für einen der gerade ubuntu install möchte
MfG
Frozen
Zuletzt geändert von Frozen am Sonntag 11. Februar 2007, 18:56, insgesamt 1-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Könntest du deine Fragestellung nochmal klar und deutlich wiederholen? Also verständlicher als beim letzten Versuch.
Racks? CS? Mater?
Und nein, den Post kannst du nicht mehr löschen wenn jemand drauf geantwortet hat - mit gutem Grund.
Racks? CS? Mater?
Und nein, den Post kannst du nicht mehr löschen wenn jemand drauf geantwortet hat - mit gutem Grund.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@Frozen: Wieso postest Du unter Code Snippest, wenn Du nur ein paar Fragen hast? Dafür gibt es hier ein eigenes Forum. Außerdem: Wieso wird der Thread laufend umbenannt?
Gruß,
Christian
Gruß,
Christian