Problem?
- Weltbesiedler
- User
- Beiträge: 103
- Registriert: Dienstag 2. Februar 2010, 18:44
- Wohnort: Bayern
Das ist doch das Tutorial für Python 3.1. Ich habe aber die Python Version 2.5.
Und? Hauptsache, du arbeitest überhaupt ein Tutorial durch. Die meisten Sachen sind vollkommen identisch. Das einzige, über das du wahrscheinlich stolpern wirst ist, dass print ab Version 3 eine Funktion ist.
Das Leben ist wie ein Tennisball.
- Weltbesiedler
- User
- Beiträge: 103
- Registriert: Dienstag 2. Februar 2010, 18:44
- Wohnort: Bayern
OK danke für alle Informationen.
- Weltbesiedler
- User
- Beiträge: 103
- Registriert: Dienstag 2. Februar 2010, 18:44
- Wohnort: Bayern
So neues Problem:
Man wieso finde ich den Fehler selbst nicht? Mich regt das auf, wenn ich da sinnlos Zeit vergeude um diesen blöden Fehler zu suchen.
screen.fill = (255,255,255)
AttributeError: 'pygame.Surface' object attribute 'fill' is read-only
Code: Alles auswählen
import pygame,sys
screen = pygame.display.set_mode ((1920,1080),pygame.FULLSCREEN)
screen.fill = ((255,255,255))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
sys.exit
screen.fill = (255,255,255)
AttributeError: 'pygame.Surface' object attribute 'fill' is read-only
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Nun: Das was du vorhast geht nicht. Da musst du dir mal die API-Dokumentation von pygame anschauen, wie man das macht was du vorhast - oder warten bis jemand mit Pygame-Kenntnissen vorbei kommt.
Du kannst im uebrigen ein Klammerpaar weglassen.
Du kannst im uebrigen ein Klammerpaar weglassen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- Weltbesiedler
- User
- Beiträge: 103
- Registriert: Dienstag 2. Februar 2010, 18:44
- Wohnort: Bayern
Also eure Antworten sind mir keine Hilfe. Ja, Google ist mir ein Begriff. Bis jetzt habe ich das mit der screen.fill Methode immer gemacht, und es ging auch immer, bis jetzt...
@Weltbesiedler: Dann schau Dir mal an wie es bei Dir mal funktioniert hat und vergleiche das mit der Zeile wie Du das jetzt versuchst. Oder sag mal wie Du darauf kommst, dass Du die `fill()`-Methode da *aufrufst* -- das tust Du nämlich nicht.
Ich glaube nicht, dass man die fill-Methode bisher überschreiben konnte und vermute, dass du sie früher immer aufgerufen hast.Weltbesiedler hat geschrieben:Also eure Antworten sind mir keine Hilfe. Ja, Google ist mir ein Begriff. Bis jetzt habe ich das mit der screen.fill Methode immer gemacht, und es ging auch immer, bis jetzt...
Die Fehlermeldung ist doch ziemlich eindeutig: AttributeError: 'pygame.Surface' object attribute 'fill' is read-only.
@Weltbesiedler:
Was du da tust, ist "screen.fill" so zu verwenden, als wäre "fill" eine Variable, der du den Wert (255,255,255) zuweist. Das geht aber nicht, weil "fill" eben keine Variable, sondern eine Methode des Objektes "screen" ist.
Hilft dir das weiter?
Also nicht sondern , ok?
Unterschied erkannt!?
Wenn ich die letzten drei Seiten so durchlese, scheint mir auch, dass es dir an gaaaanz grundlegenden Sachen fehlt, die du um deinetwillen erst mal wirklich lesen, durcharbeiten und verstehen solltest.
Ach und noch was (das fällt mir manchmal auf, wenn ich hier so mitlese, was ich oft tue, auch wenn ich selten was schreibe):
Die Leute hier sind wirklich alle schwer in Ordnung. Keiner will dich in irgendeiner Weise ärgern. Die Leute geben dir Hilfe, dir selbst zu helfen (was Überhaupt die beste Form von Hilfe ist). Beim Programmieren ist es eben so, dass man selber verstehen muss, was man tut. Stupides Abtippen von Codebeispielen hilft einfach nicht.
Wenn dir angeraten wird, Dieses oder Jenes zu lesen/durchzuarbeiten, dann seh' das bitte als gut gemeinten Rat. Die Leute können sehr oft sehr schnell einschätzen, welchen Wissenstand jemand hat und was er noch lernen muss, um sein Problem zu verstehen und selbst lösen zu können.
Also, versuch' bitte, in kleinen Schritten, Stück für Stück dazu zu lernen. Und wenn du bei den Grundlagen Schwierigkeiten hast, arbeite gerade daran doppelt so hart!
Wenn dir Begriffe (Methoden, Funktionen, Objekte,...) nicht vertraut sind, dann frag' bitte nach. Es ist keine Schande, etwas nicht zu wissen. Es ist ja noch nicht mal schlimm, wenn man etwas nicht auf Anhieb zu versteht.
Aber est ist traurig, wenn man aufgibt, oder erst gar nicht fragt!
Also, Kopf hoch (und Augen auf den Monitor gerichtet)!
Was du da tust, ist "screen.fill" so zu verwenden, als wäre "fill" eine Variable, der du den Wert (255,255,255) zuweist. Das geht aber nicht, weil "fill" eben keine Variable, sondern eine Methode des Objektes "screen" ist.
Hilft dir das weiter?
Also nicht
Code: Alles auswählen
screen.fill = (255,255,255)
Code: Alles auswählen
screen.fill((255,255,255))
Unterschied erkannt!?
Wenn ich die letzten drei Seiten so durchlese, scheint mir auch, dass es dir an gaaaanz grundlegenden Sachen fehlt, die du um deinetwillen erst mal wirklich lesen, durcharbeiten und verstehen solltest.
Ach und noch was (das fällt mir manchmal auf, wenn ich hier so mitlese, was ich oft tue, auch wenn ich selten was schreibe):
Die Leute hier sind wirklich alle schwer in Ordnung. Keiner will dich in irgendeiner Weise ärgern. Die Leute geben dir Hilfe, dir selbst zu helfen (was Überhaupt die beste Form von Hilfe ist). Beim Programmieren ist es eben so, dass man selber verstehen muss, was man tut. Stupides Abtippen von Codebeispielen hilft einfach nicht.
Wenn dir angeraten wird, Dieses oder Jenes zu lesen/durchzuarbeiten, dann seh' das bitte als gut gemeinten Rat. Die Leute können sehr oft sehr schnell einschätzen, welchen Wissenstand jemand hat und was er noch lernen muss, um sein Problem zu verstehen und selbst lösen zu können.
Also, versuch' bitte, in kleinen Schritten, Stück für Stück dazu zu lernen. Und wenn du bei den Grundlagen Schwierigkeiten hast, arbeite gerade daran doppelt so hart!
Wenn dir Begriffe (Methoden, Funktionen, Objekte,...) nicht vertraut sind, dann frag' bitte nach. Es ist keine Schande, etwas nicht zu wissen. Es ist ja noch nicht mal schlimm, wenn man etwas nicht auf Anhieb zu versteht.
Aber est ist traurig, wenn man aufgibt, oder erst gar nicht fragt!
Also, Kopf hoch (und Augen auf den Monitor gerichtet)!
Gruß!
- Weltbesiedler
- User
- Beiträge: 103
- Registriert: Dienstag 2. Februar 2010, 18:44
- Wohnort: Bayern
Ok vielen Dank für deine Tipps C4S3. Allerdings habe ich auch bei dem offiziellen Python Tutorial viele Probleme. Es wird einfach zu kompliziert, finde ich, beschrieben. Zum Beispiel werden viele Fachbegriffe benutzt, die ich noch gar nicht kenne, zu dem werden dauernd vergleiche zu anderen Programmiersprachen gebracht, die an dieser Stelle nicht von Bedeutung sind. Es werden auch neue "Funktionen" in das Programm mit eingebracht, die bis dahin noch gar nicht beschrieben wurden / waren.
Ich bin leider wieder nur am Abschreiben, da ich den Text überhaupt nicht verstehe, obwohl er in das Deutsche übersetzt ist. Da war das Tutorial in meinem Python-Buch ("Hello World - Programmieren für Kids und andere Anfänger") wesentlich leichter zu verstehen. Aber mit der Zeit wurde es immer schwieriger zu verstehen bis ich schließlich beim Grafischen programmieren mit Pygame hängen geblieben bin. Die Aufgaben habe ich meistens gemacht. Das Buch habe ich, wie schon erwähnt, zwei mal durchgelesen und Stellen die ich nicht verstanden habe, nochmal gelesen.
Mit freundlichen Grüßen
Weltbesiedler
P.S. Gibt es nicht vielleicht ein einfacheres Tutorial für Anfänger, ohne das ich mir gleich ein ganzes Buch kaufen muss?
Übrigends danke ich euch sehr für eure Hilfe und Bemühungen.
Vielen Dank
Aber vielleicht ist das Programmieren nichts für mich, oder ich lerne es erst richtig in meiner Ausbildung, die ich vorhabe zu machen.
Ich bin leider wieder nur am Abschreiben, da ich den Text überhaupt nicht verstehe, obwohl er in das Deutsche übersetzt ist. Da war das Tutorial in meinem Python-Buch ("Hello World - Programmieren für Kids und andere Anfänger") wesentlich leichter zu verstehen. Aber mit der Zeit wurde es immer schwieriger zu verstehen bis ich schließlich beim Grafischen programmieren mit Pygame hängen geblieben bin. Die Aufgaben habe ich meistens gemacht. Das Buch habe ich, wie schon erwähnt, zwei mal durchgelesen und Stellen die ich nicht verstanden habe, nochmal gelesen.
Mit freundlichen Grüßen
Weltbesiedler
P.S. Gibt es nicht vielleicht ein einfacheres Tutorial für Anfänger, ohne das ich mir gleich ein ganzes Buch kaufen muss?
Übrigends danke ich euch sehr für eure Hilfe und Bemühungen.
Vielen Dank
Aber vielleicht ist das Programmieren nichts für mich, oder ich lerne es erst richtig in meiner Ausbildung, die ich vorhabe zu machen.
ABOP - A Byte of Python ist toll und gut
the more they change the more they stay the same
Mit deiner "Lernmethode" wirst du in keinem Buch oder Tutorial etwas lernen. Es wurde dir schon öfters nahegelegt, dass du den Code nicht einfach abschreiben sollst, offensichtlich tust du dies aber immer noch. Die Faustregel ist ganz einfach: Verstehst du etwas nichts, dann probierst du so lange aus uns liest so lange nach, bis du es verstanden hast. Erst dann machst du im Text weiter, wo du vorher unterbrochen hast.
Das Leben ist wie ein Tennisball.
- Weltbesiedler
- User
- Beiträge: 103
- Registriert: Dienstag 2. Februar 2010, 18:44
- Wohnort: Bayern
Ok ich werde es so mal probieren.