Hilfe in Python! komme nicht mehr weiter...

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.
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin
Kontaktdaten:

Hilfe in Python! komme nicht mehr weiter...

Beitragvon dynasty-warriors » Montag 27. April 2009, 15:09

hi ich habe ein problem und komme nicht mehr weiter....

ok hier die aufgabe:

Erstelle die folgenden Flagen als 80x50 Pixelgrafik:



also das erste ist ja einfach und das 2. auch! aber wie funktioniert das dritte??

die piratenflagge habe ich es so gemacht:

Code: Alles auswählen

print "P1"
print "# Schwarze Fahne"
anzahl_x = 20
anzahl_y = 10
print anzahl_x,
print anzahl_y 
lauf_x = 0
lauf_y = 0
while lauf_y < anzahl_y:
    lauf_x = 0
    while lauf_x < anzahl_x:
        print "1",
        lauf_x = lauf_x + 1
    print     
    lauf_x = 0
    while lauf_x < anzahl_x:
        print "1",
        lauf_x = lauf_x + 1
    print
    lauf_y = lauf_y + 2


das war ja noch einfach!

aber wie funktioniert die restlichen flaggen?? zb. das karo..., oder schwarz weiß,... oder schwarz-weiß-schwarz???

ich habe herum gebastelt

nämlich schwarz weiß, schwarz weiß??

... ka ich komme nicht mehr weiter!

also hier

Code: Alles auswählen

print "P1" # P1 schreiben für Schwarzweißgrafik
anzahl_x = 20 # setze Anzahl der Spalten
anzahl_y = 10 # setze Anzahl der Zeilen
print anzahl_x,
print anzahl_y  # Gib Zeilen und Spalten aus, wie in PBM-Dateien gefordert
lauf_x = 0 # Definiere Zaehlvariablen für Spalten
lauf_y = 0 # ... und Zeilen
while lauf_y < anzahl_y:  # Schleife zum Schreiben der Zeilen
    lauf_x = 0 # nach dem Schreiben einer Zeile lauf_x wieder auf 0 setzen
    while lauf_x < anzahl_x: # Schleife zum Spalten schreiben
        print "0", # 0 ohne Zeilenumbruch schreiben
        lauf_x = lauf_x + 1 # Zaehler um 1 erhoehen
    print  # Zeilenumbruch schreiben, da nach einer schwarzen noch eine weiße Zeile kommen soll
    lauf_x = 0 # Zaehlvariable wieder auf 0 setzen
    while lauf_x < anzahl_x: # noch eine Zeile schreiben, diesmal mit schwarzen Pixeln
        print "1", # 1 ohne Zeilenumbruch schreiben
        lauf_x = lauf_x + 1 # Zaehler für Spalten um 1 erhöhen
    print # Zeilenumbruch ausgeben
    lauf_y = lauf_y + 2 # Da nun zwei Zeilen geschrieben wurden (eine weiße, eine schwarze)
                        # muss die Zaehlvariable fuer die Zeilen um ZWEI erhoeht werden.



was muss ich ändern, damit ich ein karo flagge mache??

bitte hilft mir!!Bild

ok so sollte es sein, aber ich komme nicht mehr weiteer!! am besten ist es wenn ihr mir erklärt wie man die f1 flagge macht!
Ich brauche Hilfe!

Ich darf keine Bilder in der Signatur haben!
EyDu
User
Beiträge: 4868
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Montag 27. April 2009, 15:23

Mit for-Schleifen wird es einfacher.

Dein Bild kann man als nicht-angemeldeter Benutzer übrigens nicht sehen.

Eins
Zwei

Code: Alles auswählen

>>> for y in range(10):
...     for x in range(10):
...         print "0X"[(x+y) % 2],
...     print
...
0 X 0 X 0 X 0 X 0 X
X 0 X 0 X 0 X 0 X 0
0 X 0 X 0 X 0 X 0 X
X 0 X 0 X 0 X 0 X 0
0 X 0 X 0 X 0 X 0 X
X 0 X 0 X 0 X 0 X 0
0 X 0 X 0 X 0 X 0 X
X 0 X 0 X 0 X 0 X 0
0 X 0 X 0 X 0 X 0 X
X 0 X 0 X 0 X 0 X 0
>>>
Das Leben ist wie ein Tennisball.
Twilo
User
Beiträge: 109
Registriert: Mittwoch 10. Januar 2007, 19:17
Wohnort: Berlin
Kontaktdaten:

Beitragvon Twilo » Montag 27. April 2009, 15:33

Hallo,

auch die anderen beiden gehen viel kürzer

Code: Alles auswählen

In [9]: for i in range(anzahl_y):
   ....:     for j in range(anzahl_x):
   ....:         print "1",
   ....:     print
   ....:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

In [10]: for i in range(anzahl_y):
   ....:     for j in range(anzahl_x):
   ....:         print "01"[((i%2))],
   ....:     print
   ....:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


ps. ich sehe überhaupt kein Bild

mfg
Twilo
EyDu
User
Beiträge: 4868
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Montag 27. April 2009, 15:44

Twilo hat geschrieben:ps. ich sehe überhaupt kein Bild

Musst es in eine Datei umleiten und als PGM speichern. Vermute ich jetzt mal so einfach, ohne es selber zu testen.

Code: Alles auswählen

>>> print "\n".join([" ".join(["1"]*15)]*10)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


Code: Alles auswählen

>>> print "\n".join([("1 "*15).strip()]*10)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1


Code: Alles auswählen

>>> print "\n".join((("0 ", "1 ")[i%2]*15).strip() for i in range(10))
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>>>
Zuletzt geändert von EyDu am Montag 27. April 2009, 15:59, insgesamt 1-mal geändert.
Das Leben ist wie ein Tennisball.
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin
Kontaktdaten:

Beitragvon dynasty-warriors » Montag 27. April 2009, 15:57

jop vielen dank! aber könnt ihr bitte mir das komplette zeigen???? das erste ist ja einfach, aber das mit den karos ist schwer oder?? köönnnt ihr mit biite die flagge mit zeigen?????

p.s. es sollte eine .py datei sein und ich werde es später in .pbm abgeben!
Ich brauche Hilfe!



Ich darf keine Bilder in der Signatur haben!
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

Re: Hilfe in Python! komme nicht mehr weiter...

Beitragvon Dill » Montag 27. April 2009, 15:59

eydu hat dir die karos doch schon gemacht...

dynasty-warriors hat geschrieben:

Code: Alles auswählen

print "P1" # P1 schreiben für Schwarzweißgrafik
anzahl_x = 20 # setze Anzahl der Spalten
anzahl_y = 10 # setze Anzahl der Zeilen
print anzahl_x,
print anzahl_y  # Gib Zeilen und Spalten aus, wie in PBM-Dateien gefordert
lauf_x = 0 # Definiere Zaehlvariablen für Spalten
lauf_y = 0 # ... und Zeilen
while lauf_y < anzahl_y:  # Schleife zum Schreiben der Zeilen
    lauf_x = 0 # nach dem Schreiben einer Zeile lauf_x wieder auf 0 setzen
    while lauf_x < anzahl_x: # Schleife zum Spalten schreiben
        print "0", # 0 ohne Zeilenumbruch schreiben
        lauf_x = lauf_x + 1 # Zaehler um 1 erhoehen
    print  # Zeilenumbruch schreiben, da nach einer schwarzen noch eine weiße Zeile kommen soll
    lauf_x = 0 # Zaehlvariable wieder auf 0 setzen
    while lauf_x < anzahl_x: # noch eine Zeile schreiben, diesmal mit schwarzen Pixeln
        print "1", # 1 ohne Zeilenumbruch schreiben
        lauf_x = lauf_x + 1 # Zaehler für Spalten um 1 erhöhen
    print # Zeilenumbruch ausgeben
    lauf_y = lauf_y + 2 # Da nun zwei Zeilen geschrieben wurden (eine weiße, eine schwarze)
                        # muss die Zaehlvariable fuer die Zeilen um ZWEI erhoeht werden.



krasser code!
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin
Kontaktdaten:

Beitragvon dynasty-warriors » Montag 27. April 2009, 16:06

äh??? das sind nicht die karos! das ist

schwarz......
weiß....
scharz....

usw.....

ich meine die f1 flagge! start und ziel flagge
Ich brauche Hilfe!



Ich darf keine Bilder in der Signatur haben!
EyDu
User
Beiträge: 4868
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Montag 27. April 2009, 16:06

Betteln hat wahrscheinlich wenig Erfolg, immerhin sind es deine Aufgaben. Bei Fragen _zum_ Problem ist es natürlich etwas anderes. Durch die Verwendung vieler Satzzeichen und das Hervorheben der "Schwierigkeit" dieser Übung wird sich daran sicherlich auch nichts ändern ;-)

@Dill: Nee, ich hab die Formel-1-Flagge gemacht. Kariert nicht Karo.
Das Leben ist wie ein Tennisball.
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin
Kontaktdaten:

Beitragvon dynasty-warriors » Montag 27. April 2009, 16:09

oh @ eydu ich habe das gar net gesehen ^^

also wie sieht es denn dann insgesamt aus???

du hast ja nur die for schleife gezeigt! soll ich dann meine while schleife im meinem programm entfernen und deins einsetzen=?
Ich brauche Hilfe!



Ich darf keine Bilder in der Signatur haben!
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin
Kontaktdaten:

Beitragvon dynasty-warriors » Montag 27. April 2009, 16:18

so??

Code: Alles auswählen

print "P1"
anzahl_x = 50 # Pixel 50x80
anzahl_y = 80
print anzahl_x, 
print anzahl_y 
for anzahl_y in range(10):
    for anzahl_x in range (10):
        print "01"
   
     


richtig?? irgendwas ist da falsch!
Ich brauche Hilfe!



Ich darf keine Bilder in der Signatur haben!
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin
Kontaktdaten:

Beitragvon dynasty-warriors » Montag 27. April 2009, 16:28

so??

Code: Alles auswählen

print "P1"
anzahl_x = 50 # Pixel 50x80
anzahl_y = 80
print anzahl_x, 
print anzahl_y 
for anzahl_y in range(80):
    for anzahl_x in range (50):
        print "01" [(anzahl_x+anzahl_y) % 2],
   
     



?? kannnst du mir das erklären=?? das hatte ich noch nicht in der schule!

Code: Alles auswählen

 [(anzahl_x+anzahl_y) % 2],


das mit den , ist ja ein zeilenumbruch! das kenne ich! aber das andere?
Ich brauche Hilfe!



Ich darf keine Bilder in der Signatur haben!
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

Beitragvon Dill » Montag 27. April 2009, 16:28

was mich hier am meisten verwundert ist, dass ihr versteht was der herr warrior überhaupt will.
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin
Kontaktdaten:

Beitragvon dynasty-warriors » Montag 27. April 2009, 16:31

also jetzt noch mal klar und deutlich!!!

ich möchte die f1 start und ziellinie in python machen!!

0= schwarz
1= weiß

wenn ich das script habe, dann wandle ich die datei in .pbm um! und kannn es öffnen ^^
Ich brauche Hilfe!



Ich darf keine Bilder in der Signatur haben!
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

Beitragvon Dill » Montag 27. April 2009, 16:51

ich möchte die f1 start und ziellinie in python machen!!

0= schwarz
1= weiß


ich bin ja nicht mehr der jüngste, evtl etwas verkalkt, aber für mich ist das weit von klar und deutlich entfernt.

meinst du: ich möchte ein monochromes bitmap, das aussieht wie die zielLINIE(!?) der F1 mit hilfe von python generieren?
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin
Kontaktdaten:

Beitragvon dynasty-warriors » Montag 27. April 2009, 17:08

ja! das war meine aufgabe! mit python bilder herzustellen! aus dem binäsystem!
Ich brauche Hilfe!



Ich darf keine Bilder in der Signatur haben!

Wer ist online?

Mitglieder in diesem Forum: harryberlin