Seite 2 von 2

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 15:21
von lena_
oh und danke! Wär schön wenns jemand sehn würde was falsch ist!

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 15:29
von Py-Prog
Leonidas hat geschrieben:Eine Bitte zuerst: Verwende ab und zu Großbuchstaben.
/me hat geschrieben:Bezüglich der defekten Shift-Taste an deiner Tastatur kann ich dir übrigens die Newsgroup de.comp.hardware.misc empfehlen.
SCNR

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 15:31
von hendrikS
lena_ hat geschrieben:Also wenn ich lambda x: vor eine Zeichenkette schreibe, ...
Du kannst lambda als Funktion betrachten. Kann auch mehrere Parameter besitzen und nicht nur x heissen. Bsp.:

Code: Alles auswählen

f = lambda a,b:a+b
ist identisch mit

Code: Alles auswählen

def f(a,b):
    return a+b
Ist im Prinzip nicht so wichtig, weil man auch ohne lambda auskommt. Trotzdem gut zu wissen. Wird hin und wieder verwendet um einfache Funktionen an map oder so zu übergeben. Ausserdem ist lambda limitiert auf einen Ausdruck. Mehr Info gibts übrigens in der Doku darüber.

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 15:36
von Py-Prog
Also mal ein paar kleine Tipps:
1) Jede ( sollte immer mit einer ) geschlossen werden
2) print kann nur strings ausgeben, also str(irgendwas)
3) Namen überprüfen

Und falls vor handen immer TraceBacks Posten

Code: Alles auswählen

import random

secret_number = int(random.uniform(0, 1000))
entry_number = int(raw_input("Welche Zahl koennte es sein?"))

count = 0

while entry_number != secret_number:
    if entry_number < secret_number:
        print "Diese Zahl ist zu klein!"
    if entry_number > secret_number:
        print "Zu hoch!"
    entry_number = int(raw_input("Neuer Tipp: "))
    count += 1

print "Geschafft!" , secret_number, "war die geheime Zahl!"
print "Du hast " + str(count) + " mal geraten"

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 15:46
von Leonidas
Py-Prog hat geschrieben:2) print kann nur strings ausgeben, also str(irgendwas)
Quatsch. Schon mal probiert?

Code: Alles auswählen

print 42

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 15:54
von lena_
Ah! Jetzt hab ich mich voll gefreut weils nicht mehr gleich in Zeile 4 hängen geblieben ist, aber jetzt komm ich nciht über Zeile 16:

print "Geschafft!" , a, "war die geheime Zahl!"

bei print mach Python an das t ein Häckchen und sagt wiedermal "invalid syntax" habs jetzt schon in alle Varianten umgeschrieben die mir eingefallen sind! Es tritt immer der geliche Fehler auf, sogar wenn ich die Zeile einfch durch 'print 3' ersetzt!

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 15:58
von Py-Prog
Ja, ich war aber wieder mal zu faul zum schreiben, aber wenn man schreibt:

Code: Alles auswählen

print "Text" + 80
geht das schlecht. :wink:

@lena_ bei mir geht der code den ich gepostet habe.
(Wozu Open Anno Unknown Horizons doch alles gut ist :wink: )

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 16:02
von lena_
@py-prog: na ich weiß nciht was da kaputt ist, bei mir läufts nciht wegen dieser Zeile.. naja ich denk mir einfach es hätte funktioniert, und mach mit dem nächsten weiter..
Schade wär so a nettes Spiel gewesen ;)

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 16:11
von EyDu
Py-Prog hat geschrieben:Ja, ich war aber wieder mal zu faul zum schreiben, aber wenn man schreibt:

Code: Alles auswählen

print "Text" + 80
geht das schlecht. :wink:
Das hat allerdings nichts mit print zu tun, sondern damit, dass du versuchst, einen String mit einem Integer zu addieren. Das sagt dir aber auch schon die Fehlermeldung.
lena_ hat geschrieben:@py-prog: na ich weiß nciht was da kaputt ist, bei mir läufts nciht wegen dieser Zeile.. naja ich denk mir einfach es hätte funktioniert, und mach mit dem nächsten weiter..
Dann zeige doch mal deinen vollständigen Code und die vollständige Fehlermeldung.

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 16:32
von lena_
okay:

Code: Alles auswählen

import random

a=int(random.uniform(0,1000))

z=int(raw_input("Welche Zahl koennte es sein?"))

c=0
while z!=a:
	c = c+1
	if z<a:
		print "Diese Zahl ist zu klein!"
	if z>a:
		print "Zu hoch!"
	a=int(raw_input("Neuer Tipp: ")

print "richtig"

print "Du hast" + str(c) + "mal geraten"
und die Fehlermeldung:
File "C:\pythonaufgaben\ratespiel.py, line 16
print "richtig"
^
SyntaxError: invalid syntax
wobei das ^ auf Höhe vom t ist. Die Einrückung nimmt das Zitat wohl nicht mit.

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 16:33
von Leonidas
Du hast (schon wieder) eine schließende Klammer vergessen, in der Zeile drüber.

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 18:19
von problembär
Ich würde jeweils Leerzeichen setzen, also z.B.

Code: Alles auswählen

a = 1
Außerdem weist Du der Zufallszahl (a) die Eingabe zu (es müßte vielmehr "z = ..." heißen).
Ich würd's so schreiben:

http://paste.pocoo.org/show/345817/

(Angucken bei Bedarf.)

Gruß

Re: pythonanfänger weiß nicht weiter

Verfasst: Montag 28. Februar 2011, 19:07
von BlackJack
@lena_: Statt `random.uniform()` könntest Du Dir in dem Modul auch eine Funktion suchen die gleich eine ganze Zahl liefert.

Re: pythonanfänger weiß nicht weiter

Verfasst: Dienstag 1. März 2011, 13:46
von lena_
also die Kausur ist vorbei, jetzt kommts auf die Korrektoren an!
Auf jeden Fall viele herzlichen Dank für eure Unterstützung! Es hat mir wirklich geholfen jemanden Fragen zu können!
Gruß,
Lena