Hilfe in Python! komme nicht mehr weiter...

Alt 27.04.2009, 16:03   # 1
Ex-Dynasty-Warriors
Gesperrt
 
Registriert seit: 22.10.2008
Ort: Hinter der Mülltonne!
Beiträge: 774
hi ich habe ein problem und komme nicht mehr weiter....

ok hier die aufgabe:

Erstelle die folgenden Flagen als 80x50 Pixelgrafik:
SWFlaggen


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

die piratenflagge habe ich es so gemacht:

Code:
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:
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!!
  Mit Zitat antworten
Alt 27.04.2009, 18:00   # 2
waldvogel
 
Registriert seit: 27.03.2007
Beiträge: 4.903
Welche Flaggen?
Und sollen die Flaggen als Text auf der Konsole landen, oder las zB als bmp in einer Datei?

EDIT:

Ah ich glaub ich weiß was du meinst...
Sowas in Groß?

00100
01110
11111
01110
00100


Das geht doch ganz einfach mit den while-Schleifen.
Lass die Laufzahl für 1 von 1-breite laufen, und die für die 0er von breite/2 (dauf achten, dass Breite ungerade ist).
Und dann kannst du es ja mit ein wenig überlegen passend zusammen setzen.
  Mit Zitat antworten
Alt 27.04.2009, 18:10   # 3
Ex-Dynasty-Warriors
Gesperrt
Threadstarter
 
Registriert seit: 22.10.2008
Ort: Hinter der Mülltonne!
Beiträge: 774
jop!! ich sollte mit hilfe von python bilder erstellen! am besten ist ja wenn du mir zeigen kannst, wie man das karierte macht!
  Mit Zitat antworten
Alt 27.04.2009, 18:12   # 4
waldvogel
 
Registriert seit: 27.03.2007
Beiträge: 4.903
Schau noch mal auf das was ich editiert habe... also als eine Textausgabe wie
00100
01110
11111
01110
00100
???
  Mit Zitat antworten
Alt 27.04.2009, 18:23   # 5
Ex-Dynasty-Warriors
Gesperrt
Threadstarter
 
Registriert seit: 22.10.2008
Ort: Hinter der Mülltonne!
Beiträge: 774
ne nich das sondern!

00110011
11001100
00110011

so was!
  Mit Zitat antworten
Alt 27.04.2009, 18:28   # 6
RealMario_MayhemFan
Review-Redakteur
 
Benutzerbild von RealMario_MayhemFan
 
Registriert seit: 21.05.2008
Ort: Wien
Beiträge: 4.039
hatten wir nicht letztens nen thread wegen umstrukturierung des forums?

hab ne neue rubrik:
ps3-spot hausaufgaben. da kann dann jeder hilfe suchen, wenn er in der schule pennt - für nen share auf ein psn-game gibts die lösung unmittelbar nach übermittlung der account-daten
__________________
enemy, enemy, enemy... ene-me... inner...me... inner me. enemy.

PS3-Spot Username/PSN-IDs
  Mit Zitat antworten
Alt 27.04.2009, 19:35   # 7
LittleBIGFan
 
Benutzerbild von LittleBIGFan
 
Registriert seit: 19.01.2009
Beiträge: 4.242
kannst vielleicht mal schauen, die grafik funtzt net
  Mit Zitat antworten
Alt 27.04.2009, 19:45   # 8
waldvogel
 
Registriert seit: 27.03.2007
Beiträge: 4.903
Ihr habt sicherlich den %-Operator (Sprich: Modulo) gelernt.
Mit geschickter if-Abfrage kann man so das richtige Zeichen für die richtige Stelle (die in der Schleife durchlaufen wird) ausgeben.

Und anstatt den while-Schleifen würde ich eine for-Schleife nehmen.
  Mit Zitat antworten
Alt 27.04.2009, 20:22   # 9
Ex-Dynasty-Warriors
Gesperrt
Threadstarter
 
Registriert seit: 22.10.2008
Ort: Hinter der Mülltonne!
Beiträge: 774
ka! mein leherer meinte, man muss nur kleine dinge ändern und schon funktioniert es alles
  Mit Zitat antworten
Alt 28.04.2009, 00:55   # 10
Armauskugel-Ali
Shooooryuken!
 
Benutzerbild von Armauskugel-Ali
 
Registriert seit: 01.01.2008
Ort: Im eigenen Haus:)
Beiträge: 1.313
bin ich der einzige, der überhaupt keinen dunst davon hat, worum es hier eig. geht?O.o
  Mit Zitat antworten
Alt 28.04.2009, 09:29   # 11
RealMario_MayhemFan
Review-Redakteur
 
Benutzerbild von RealMario_MayhemFan
 
Registriert seit: 21.05.2008
Ort: Wien
Beiträge: 4.039
Zitat:
Zitat von Armauskugel-Ali Beitrag anzeigen
bin ich der einzige, der überhaupt keinen dunst davon hat, worum es hier eig. geht?O.o
is ja nichts dabei - ein programm geht die fläche einer fahne durch.

durch abfrage mit schleifen (die dinger laufen bis zu einem bestimmten punkt immer wieder durch) setzt das programm entweder ne 1 oder ne 0. könntest genausogut mit "x" und "o" machen, wenn dus dir damit leichter vorstellen kannst.

je nachdem wie du die schleifen programmierst, können unterschiedliche muster entstehen:

00110011
11001100
00110011

00011000
11111111
00011000

11111111
00000000
11111111

usw.
__________________
enemy, enemy, enemy... ene-me... inner...me... inner me. enemy.

PS3-Spot Username/PSN-IDs
  Mit Zitat antworten
Alt 28.04.2009, 09:39   # 12
Armauskugel-Ali
Shooooryuken!
 
Benutzerbild von Armauskugel-Ali
 
Registriert seit: 01.01.2008
Ort: Im eigenen Haus:)
Beiträge: 1.313
Zitat:
Zitat von RealMario_MayhemFan Beitrag anzeigen
is ja nichts dabei - ein programm geht die fläche einer fahne durch.

durch abfrage mit schleifen (die dinger laufen bis zu einem bestimmten punkt immer wieder durch) setzt das programm entweder ne 1 oder ne 0. könntest genausogut mit "x" und "o" machen, wenn dus dir damit leichter vorstellen kannst.

je nachdem wie du die schleifen programmierst, können unterschiedliche muster entstehen:

00110011
11001100
00110011

00011000
11111111
00011000

11111111
00000000
11111111

usw.
gruselig, der Kram...
  Mit Zitat antworten
Alt 28.04.2009, 09:49   # 13
RealMario_MayhemFan
Review-Redakteur
 
Benutzerbild von RealMario_MayhemFan
 
Registriert seit: 21.05.2008
Ort: Wien
Beiträge: 4.039
Zitat:
Zitat von Armauskugel-Ali Beitrag anzeigen
gruselig, der Kram...
wenn du dich erstmal damit beschäftigst, ists genauso schwer/leicht wie jedes andere fach...

frag mal nen casualgamer, was er von den framelisten in tekken hält.

wobei, ali!
da hab ich eh was für dich zum schmökern, sowas interessiert dich glaub ich eh!
schau mal hier:
http://shoryuken.com/wiki/index.php/Dhalsim_(SFIV)
ist frameliste für nen sf4 character, mit dem ich mich grad beschäftige, schnupper mal rein

sorry für OT
__________________
enemy, enemy, enemy... ene-me... inner...me... inner me. enemy.

PS3-Spot Username/PSN-IDs
  Mit Zitat antworten
Alt 28.04.2009, 15:18   # 14
Ex-Dynasty-Warriors
Gesperrt
Threadstarter
 
Registriert seit: 22.10.2008
Ort: Hinter der Mülltonne!
Beiträge: 774
ach ich gebe es auf, ich frage mal meine freunde ^^
  Mit Zitat antworten
Alt 28.04.2009, 22:42   # 15
Ex-Dynasty-Warriors
Gesperrt
Threadstarter
 
Registriert seit: 22.10.2008
Ort: Hinter der Mülltonne!
Beiträge: 774
also ein kumpel der länger das fach informatik hatte sagte so:

Code:
>>> for y in range(10): 
...     for x in range(10): 
...         print "0X"[(x+y) % 2], # hier habe ich es nicht wirklich verstanden, da ich es noch nicht in der schule hatte!
...     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 
>>>
also wie kann ich es in meinem programm einbauen??

wäre nett wenn einer mit weiter hilft!
  Mit Zitat antworten
Alt 29.04.2009, 10:49   # 16
waldvogel
 
Registriert seit: 27.03.2007
Beiträge: 4.903
print "0X"[var] heißt, dass bei var=0 nur die 0 gedruckt wird, und bei var=1 nur das X. (Im Prinzip sowas wie string[var]).
Der Ausdruck (x+y) % 2 berechnet die Summer von X un y und gibt den Rest (von /2) zurück, also immer abwechselnd 1 und 0 (Zeilen und Spaltenweise).
  Mit Zitat antworten
Alt 29.04.2009, 17:49   # 17
Eisregen
 
Benutzerbild von Eisregen
 
Registriert seit: 19.09.2008
Ort: Neheim/Arnsberg
Beiträge: 2.822
Zitat:
Zitat von Armauskugel-Ali Beitrag anzeigen
bin ich der einzige, der überhaupt keinen dunst davon hat, worum es hier eig. geht?O.o


Geht mir genauso ^^
  Mit Zitat antworten
Alt 01.05.2009, 14:57   # 18
Ex-Dynasty-Warriors
Gesperrt
Threadstarter
 
Registriert seit: 22.10.2008
Ort: Hinter der Mülltonne!
Beiträge: 774
ich habe mein problem gelöst! bitte an @ heady! closen!
  Mit Zitat antworten

Antwort
Themen-Optionen



Alle Zeitangaben in WEZ +2. Es ist jetzt 14:01 Uhr.