Beiträge von skatulskijean

    Genau das.
    Aber Dima sagte ja schon, dass das noch nicht vollständig ist ?

    lg fuenfzigccm

    ist Kein Nicht funktionierender Code , macht das selbe wie die While schleife nur kürzer und einfacher!!
    Besser gesagt man hat das selbe Ergebnis!!
    Also gibt die einzelnen Buchstaben des Wortes Ananas aus!

    Python
    frucht='Ananas'
    
    
    for letter in frucht:
        print letter

    Habe es im Tutorial jetzt auch als Python Quellcode gesetzt.
    Hoffe das ist so besser!

    Eine Else in der For Schleife hat sich nicht angeboten zumal ich die Vergleichsoperatoren noch nicht angesprochen habe.
    Du wirst sie sicherlich Kennen und benutzen können ,viele der anderen aber nicht!


    Gruß Jan

    Wir haben doch eine Zuordnung Tiere=['Affe','Tiger','Kuh']Index 0 1 2
    Affe=0 Tiger=1 Kuh=2


    Ich bin geduldig kein Problem!
    Hast du die E-Mail Adresse bekommen?

    Ja, aber könntest du in deinem Beispiel den Tieren zu.B ihre Art zu ordnen.
    Der Unterschied ist doch das ich einen Schlüssel einen Wert zu ordnen kann.
    Ich dachte das ein Wörterbuch den Unterschied klar und deutlich macht.

    Am besten ist man schickt mir eine email an meine email mit den usernamen von hier.

    Heftiger Stoff in Abschnitt 5. Gelesen hab ich es schon mal.Mache nachher mal den Notepad Test.Und ich dachte schlimmer kann es nicht mehr werden :)

    Rene ,mache dir mal keinen Kopf.
    Es ist schon so das es ein Menge Informationen sind.
    Aber wie in allen macht üben den Meister.

    Es gibt Sachen die ich euch nicht abnehmen kann.
    Dazu gehört es das gelernte selbst zu benutzen.
    Nur wenn Du es auch benutzt wird vieles klarer werden.

    Für den 5. Teil .
    Wenn es dir vom lesen her schon schwer vorkommt.
    Solltest Du dir überlegen für was du so ein schlüssel wert paar gebrauchen könntest und es dann auch
    Selbstständig anwenden.

    Bis jetzt ist alles noch logisch oder ich versuche es wenigstens so zu schreiben.

    Grußwort Jan

    Und wen du die Reihenfolge behalten musst kann man eine Liste oder Tumple machen.Wieso wir aber so viele Möglichkeiten brauchen begreife ich nicht haben schon zwei.

    Es ist doch das erstmal das wir genau etwas zuordnen können.
    Einen Wert einen Schlüssel und über diesen Schlüssel den Wert ansprechen können.
    Wie werden es im Laufe des Addon - Tutorial noch brauchen.
    Es ist immer besser etwas vorher schon mal gesehen zu haben oder besprochen zu haben .
    Wie gesagt es ist ein sehr kleiner Teil von Python den wir hier behandeln.
    Aber ohne das wird es nichts.

    Dima wenn du jetzt Dir mal den Code eines Addons ansiehst müsste Dir vieles schon klarer sein als vor Beginn des Tutorials.
    Aber bei weitem noch nicht alles.

    Verstehe ja das man ungeduldig ist da man zum Kern gelangen will aber zum Kern gelangt man nur wenn man wenigstens etwas Von den Grundlagen verinnerlicht hat.

    Gruß Jan

    Wenn du die Postion auf eine Liste beziehst ist das Richtig aber das Dictionary was ich erstellt habe heißt Farben .

    und die keys sind z.B white ,red,blue
    print Farben['white']
    >>>FFFFFFFF Ausgabe

    Vielleicht ist das so besser zu verstehen.


    Gruß Jan

    [h1]Der Datentyp Dictionary[/h1]

    Die zusammengesetzten Datentypen, die wir bisher behandelt haben Strings, Listen und Tupel verwenden Ganzahlen als Index um Teile des Dateitypen anzusprechen.

    Wir erinnern uns bitte!

    Beispiel Dateityp string:

    'Hans' String
    0123 index

    Das ist bei einen Dictionary nicht der Fall.
    Ein Dictionary besteht aus Paaren die einen Schlüssel(Key) und ein dazugehöriges Wert halten.
    Das bedeutet zu jeden in einem Dictionary enthaltenden Schlüssel(key) gehört immer ein Wert.

    Ein Möglichkeit, ein Dictionary zu erzeugen, ist mit einem leeren Dictionary zu beginnen und dann Elemente hinzuzufügen.
    Syntax leeres Dictionary:

    Dictonary Name = {}

    Beispiel:
    ger2eng = {} erzeugt ein Dictionary mit den Namen ger2eng

    Diesem Leeren Dictionary müssen wir nun Paare hinzufügen die aus einem Schlüssel und einem dazugehörigen Wert bestehen.

    Syntax hinzufügen von Elementen zu einem leeren Dictionary:
    Dictonary Name[Schlüssel] = Wert

    Beispiel:


    ger2eng = {}erstellt ein leeres Dictionary mit denn Namen ger2eng
    ger2eng['eins'] = 'one'fügt den Dictionary ger2eng ein Element mit den Schlüssel(key) eins und dem dazugehörigen Wert one zu.
    ger2eng['zwei'] = 'two'fügt den Dictionary ger2eng ein Element mit den Schlüssel (key) zwei und dem dazugehörigen Wert two zu.
    ger2eng['drei'] = 'three'fügt den Dictionary ger2eng ein Element mit den Schlüssel (key) drei und dem dazugehörigen Wert three zu.
    print ger2enggibt den aktuellen Wert des Dictionarys aus

    >>>{'eins': 'one', 'zwei': 'two','drei': 'three'}


    Wir können ein Dictonary aber auch erstellen in dem wir im gleich die Schlüssel(key)-Wert Paare hinzufügen:

    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    print ger2eng
    >>>{'zwei': 'two', 'eins': 'one', 'drei': 'three'}

    Wie wir sehen gibt die Ausgabe mit Print nicht die korrekte Reihenfolge wieder.
    Zum Glück gibt es keinen Grund, sich um diese Reihenfolge überhaupt zu Kümmern denn
    wir müssen ja nicht auf einen Ganzahl Index zugreifen um einzelne Element anzusprechen
    statt dessen benutzen wir die Schlüssel um die entsprechenden Werte zu ermitteln:

    Beispiel:

    print ger2eng['zwei']
    >>>'two'

    [h1]Dictionary Operationen[/h1]

    Die del Anweisung entfernt ein Schlüssel-Wert Paar aus dem Dictionary:

    Syntax:
    del Dictionary Name[Schlüssel]

    Beispiel:

    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    del ger2eng['eins']
    print ger2eng
    >>>{'drei': 'three', 'zwei': 'two'}

    Wir können auch einen neuen Wert für einen Schlüssel setzen:

    Syntax
    Dictionary Name[Schlüssel] = Neuer Wert

    Beispiel:

    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    ger2eng['drei']='keine Ahnung'
    print ger2eng
    >>>{'drei': 'keine Ahnung', 'eins': 'one', 'zwei': 'two'}

    Die len Funktion die wir ja schon kennen funktioniert auch mit dem Typ Dictionary; sie gibt die Anzahl der Schlüssel-Wert Paare zurück:

    Syntax:
    len(Dictionary Name)

    Beispiel:

    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    print len(ger2eng)
    >>>3

    [h1]Dictionary Methoden[/h1]

    Eine Methode ist ähnlich einer Funktion sie übernimmt Parameter und gibt einen Wert zurück aber die Syntax ist anders. Die keys Methode übernimmt z. B. ein Dictionary und gibt eine Liste von Schlüsseln zurück, die im Dictionary vorkommen.
    Aber anstatt der Syntax für Funktionen keys(ger2eng) verwenden wir die Methoden-Syntax ger2eng.keys().

    Die keys Methode:

    Sie gibt eine Liste der Keys (Schlüssel) des Dictionary aus

    syntax:
    Dictionary Name.keys()

    Beispiel:

    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    print ger2eng.keys()
    >>>['drei', 'eins', 'zwei']

    Die values Methode:

    Sie gibt eine Liste der Werte des Dictionarys aus:

    Syntax:
    Dictionary Name.values()

    Beispiel:
    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    print ger2eng.values()
    >>>['three', 'one', 'two']

    Die item Methode:

    Die items Methode gibt beide zurück, und zwar in der Form eine Liste von Tupeln ,eines für jedes Schlüssel-Wert Paar:

    Syntax:
    Dictionary Name.items()

    Beispiel:

    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    print ger2eng.items()
    >>>[('drei', 'three'), ('eins', 'one'), ('zwei', 'two')

    Die has_key Methode:

    Mit der has key Methode kann man prüfen ob ein Key(Schlüssel) in einem Dictionary vorhanden ist:

    Ist das Key(Schlüssel) im dem Dictionary vorhanden wird True ausgegeben ist das Key(Schlüssel) nicht im Dictionary vorhanden wird False ausgegeben.

    Syntax:
    Dictionary Name.has_key(Schlüssel)

    Beispiele:

    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    print ger2eng.has_key('eins')
    >>>True

    ger2eng = {'eins': 'one', 'zwei': 'two', 'drei': 'three'}
    print ger2eng.has_key('Apfel')
    >>>False

    [h1]Schleifen[/h1]

    Schleifen, werden benötigt, um einen Codeblock, den man auch als Schleifenkörper bezeichnet,
    wiederholt auszuführen.
    In Python gibt es zwei Schleifentypen: die while-Schleife und die for-Schleife.

    [h1]Die while-Schleife:[/h1]

    While bedeutet so lange um das etwas zu verdeutlichen sehen wir und mal ein
    Beispiel einer while Schleife an.
    Das im Prinzip folgende Syntax hat:

    while Bedingung:
    Anweisung

    Beispiel:


    Python
    frucht='Ananas'            
    index=0                     
    while index < len(frucht):  
        letter = frucht[index]   
        print letter             
        index = index + 1


    Ergebnis print:
    >>>A
    >>>n
    >>>a
    >>>n
    >>>a
    >>>s

    Erklärung:

    frucht='Ananas'erstellt eine Variable frucht mit den string Ananas als Wert
    index=0erstellt eine variable index mit dem Wert 0 (die als zähler benutzt wird)
    while index < len(frucht):so lange der index kleiner ist als die länge des strings frucht
    letter = frucht[index]ist letter = fruit[index]
    print lettergebe letter aus
    index = index + 1erhöht den Zähler um 1 und gibt ihn zu while

    Einen Index zu verwenden um einen Satz von Werten zu durchlaufen ist so gebräuchlich, dass Python dafür eine alternative, einfachere Syntax bereitstellt die for Schleife:

    [h1]Die for Schleife:[/h1]

    iteration = beschreibt allgemein einen Prozess mehrfachen Wiederholens gleicher oder ähnlicher Handlungen zur Annäherung an eine Lösung oder ein bestimmtes Ziel.


    In Python dient die for-Schleife zur Iteration über ein Sequenz von Objekten

    Syntax:

    for Variable in Sequenz:
    Anweisung1
    Anweisung2
    ...
    Anweisungn
    else:
    Else-Anweisung1
    Else-Anweisung2
    ...
    Else-Anweisungm


    Beispiel :

    Python
    frucht='Ananas'
    for letter in frucht:
        print letter


    >>>A
    >>>n
    >>>a
    >>>n
    >>>a
    >>>s

    Zu dem else Zweig in der For Schleife sowie etwas ausführlich zur For Schleife kommen wir beim nächsten mal wenn wir auf die Vergleichsoperatoren eingegangen sind.

    Warum soll ich mit einem 'Befehl' ein Objekt in einer Liste ersetzen. Da kann ich doch gleich einfach das Objekt umbenennen. Der Sinn erschließt sich mir hier nicht

    Später im Addon erstellst Du eine Liste vielleicht aus dem Zugriff auf eine Website und Du willst den einen Wert ändern.

    Natürlich kannst Du auch anstatt Vogel Bär schreiben aber in der Schule konntest Du ja auch nicht wenn die Aufgabe 5+6 war 5+8 rechnen denn dann war das Ergebnis falsch und viel anders ist das auch hier nicht.
    Ist auf der Arbeit ja auch nicht anders kannst ja in der Autowerkstatt wenn Du die Räder wechseln sollst nicht weil Du Lust hast den Motor ausbauen!!


    Gruß Jan

    farbe[white, red, blue]
    wert[FFFFFFFF, FFFF0000, FF0000FF] (sofern ich das jetzt richtig gesetzt hab)
    ah, ich glaub das ist kein array, sondern ne liste.

    Ja das sind 2 Listen , die hast Du durch das erstellen des Dictionary auch
    print Farben.keys()
    würde dir nur die Farben in der Art zurückgeben [white, red, blue]
    mit print Farben..values() würdest Du eine Liste der Werte erhalten.

    Die Manipulationsmöglichkeiten sind trotzdem wie im Post davor beschrieben vorhanden.

    im Prinzip könntest Du 2 Variablen erstellen die diese Listen halten.

    Farbliste=Farben.keys()
    Farbwerte=Farben.values()

    und dann über diese Variablen auf die entsprechenden Listen zugreifen.


    Ich muß jetzt erst bei meinen Addon Tutorial weitermachen .
    Dag eht es heute um Dictionarys und Schleifen.
    Listen waren im Teil4 dran .
    Kannst ja mal reinschauen wenn Du Lust hast.


    Gruß Jan

    Nein ein Dateityp in Python wie Strings Listen usw.
    Das gute ist das Du nicht ein Index hast der von 0 beginnt sondern auf die Werte eines Dictionarys mit einem Key (Schlüssel zugreifen kannst .

    In den Python code im Beispiel .Habe ich Deine Beispiel xml mit re geparst (regex) und
    den Namen der Farbe und den Wert in in ein Dictionary mit den Namen Farben geschrieben.
    wobei der Farben Name dann ein Schlüssel Wurde und einen entsprechenden Wert hält.
    Wie gesagt du kannst die einzelnen Werte der Farben ansprechen., ein Schlüssel mit Wert löschen neue Hinzufügen den wert einer farbe ändern.
    Nur die Farben ausgeben oder nur die Werte ausgeben. usw.

    Du könntest die ganze Sache in ein Dictionary packen und dann hast du Schlüsselwörter mit einem entsprechenden Wert!

    Du könntest mit den Schlüsseln auf die Werte zugreifen!
    Neue Hinzufügen Löschen und die Werte ändern

    print Farben['grey'] würde die z.B den Wert von grau ausgeben
    mit del Dictionary Name[Schlüssel] kannst du ein Paar löschen
    oder z.B mit Dictionary Name[Schlüssel] = Neuer Wert einen neuen Wert den Schlüssel geben usw.


    Python
    import re
    Farben={}
    xml='<?xml version="1.0" encoding="utf-8"?><colors><color name="white">FFFFFFFF</color><color name="grey">FFb4b4b4</color><color name="grey2">FF999999</color><color name="grey3">FF505050</color><color name="black">FF000000</color><color name="blue">FF0084ff</color><color name="selected">FFEB9E17</color><color name="bmwamber">FFFF7E00</color></colors>'
    
    
    match=re.findall('name="(.*?)">(.*?)</',xml)
    for farbe,wert in match:
       Farben[farbe] = wert
    print Farben

    Wäre das mit einem Dictionary nicht sogar besser?