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

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: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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:

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
[url=http://www.farb-tabelle.de/][b]Farbtabelle[/b][/url]
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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

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

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!
http://www.kinderpornos.info
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin

ä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: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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

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

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

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

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

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

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?
http://www.kinderpornos.info
dynasty-warriors
User
Beiträge: 62
Registriert: Sonntag 4. Januar 2009, 23:33
Wohnort: Berlin

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

Ich darf keine Bilder in der Signatur haben!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dill hat geschrieben:meinst du: ich möchte ein monochromes bitmap, das aussieht wie die zielLINIE(!?) der F1 mit hilfe von python generieren?
Ich biete eine monochrome Bitmap einer Ziellinie, mit Gimp generiert:

Bild

SCNR, aber ich bin mindestens so verkalkt wie Dill und man muss Nachsicht mit alten Leuten haben.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

sehr hübsch!

warrior, um zu einer lösung zu kommen, kannst du entweder warten bis es jemand für dich erledigt, oder du machst dir selbst gedanken.

das heisst du brauchst eine lösungsstrategie.
du könntest zb mal damit anfangen und in einem py-string darstellen was du als endergebnis haben willst.

für die piratenflagge zb:

Code: Alles auswählen

piratenflagge="""
1111111111
1111111111
1111111111
1111111111
"""
mach das mal für deine karos.
evtl siehst du dann ein muster und eine vorschrift wie das muster sich wiederholen muss damit die flagge rauskommt.
hier:
muster = "1"
vorschrift: muster 10* pro zeile ausgeben.
http://www.kinderpornos.info
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Schönes Bild! Kandinsky würde vor Neid schwarz/weiß anlaufen.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das % ist der Modulo-Operator. Damit erhälst du den Rest einer ganzzahligen Division: 8/3 => 8 % 3 = 2.

Die Indizes deiner for-Schleifen solltest du nicht unbeding "anzahl_y" und "anzahl_x" nennen. Die gehören zur range-Funktion.

Die karierte Flagge wird übrigens nur am Ende geschwenkt und nicht beim Start. Und wenn Pele sie schwenken soll, dann sieht das Bild so aus:
^^
Das Leben ist wie ein Tennisball.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Erinnert mich irgendwie an einen amüsanten Thread aus dem letzten Jahr, als jemand eine japanische Flagge zeichnen wollte, äh sollte: http://www.python-forum.de/topic-13537.html
Antworten