So weit alles klar. Der Stoff war mir auch schon bekannt bis auf die etwas andere Syntax.
Hab die Lektion durch gearbeitet.
Wir erstellen ein Addon (simples Tutorial von Anfang bis Ende)
-
skatulskijean -
5. November 2015 um 08:55 -
Erledigt
-
-
irgend jemand noch Probleme mi den Teil 5?
René 1980 bist Du schon zum 5 Teil gekommen?Wenn noch Fragen sein sollten Bitte stellen!
Gruß Jan
-
-
Ich mache das später im Editor.
Gelesen habe ich es aber schon und auch soweit verstanden. -
Ja.Teil 5 durch.Übungen haben alle funktioniert.Danke
-
-
Alles ok soweit. Hab mich mal mit Python im Wiki beschäftigt. Lesenswert aber nicht groß vom nutzen
Meine Emailadresse erhalten?
-
Alles ok soweit. Hab mich mal mit Python im Wiki beschäftigt. Lesenswert aber nicht groß vom nutzen
Meine Emailadresse erhalten?
Nein irgendwie habe ich die auch nicht erhalten.
Verstehe ich nicht da ja sonst auch andere Mails darüber ankommen!
Also zu arndtjan@yahoo.de
Gruß Jan
-
-
Nächster Teil kann Leider erst Morgen kommen .
Bin eben erst von Arbeit gekommen .Gruß Jan
-
Nein irgendwie habe ich die auch nicht erhalten.
Verstehe ich nicht da ja sonst auch andere Mails darüber ankommen!
Schau mal in Deinen SPAM Ordner, vielleicht sind die da rein gelandet
-
-
[h1]Operatoren[/h1]
Operatoren sind spezielle Symbole, die Rechenarten wie Addition und Multiplikation darstellen. Die Werte, die durch die Operatoren verknüpft werden, heißen Operanden
Die meisten Operatoren für Zahlenwerte sind in Python ähnlich zu anderen Programmiersprachen.Hier eine Kurze Zusammenfassung zur Übersicht:
Operator Bezeichnung Beispiel +, - Addition, Subtraktion 10 -3 *, /, % Multiplikation, Division, Rest 27 % 7
Ergebnis: 6+x, -x Vorzeichen -3 ~x Bitweises Not ~3 - 4
Ergebnis: -8** Exponentiation 10 ** 3
Ergebnis: 1000or, and, not Boolsches Oder, Boolsches Und, Boolsches Nicht (a or b) and c in "Element von" 1 in [3, 2, 1] <, <=, >, >=, !=, == Die üblichen Vergleichsoperatoren 2 <= 3 |, &, ^ Bitweises Oder, Bitweises Und, Bitweises XOR 6 ^ 3 <<, >> Shiftoperatoren 6 << 3 [h1]Die Vergleichsoperatoren:[/h1]
Auf die Vegleichsoperatoren wollen wir näher eingehen:
Vergleichsoperator Bedeutung >= größer gleich <= kleiner gleich == gleich != ungleich Beispiele:
Beispiel > ,<:
Hier können wir gleich eine For Schleife mit if, else und elif benutzen
und uns außerdem merken das eine Verkettung nur bei gleichen Dateityp möglich ist.
Deswegen wird die gegeben Zahl die typ int ist mittels str(zahl) in der print Anweisung in einen String umgewandelt.PythonZahlen=[1,2,3,4,5,6,7,8,9,10] for zahl in Zahlen: if zahl > 5: print str(zahl)+' ist mehr als 5' elif zahl < 5: print str(zahl)+' ist weniger als 5' else: print str(zahl)+' ist gleich 5'
>>>1 ist weniger als 5
>>>2 ist weniger als 5
>>>3 ist weniger als 5
>>>4 ist weniger als 5
>>>5 ist gleich 5
>>>6 ist mehr als 5
>>>7 ist mehr als 5
>>>8 ist mehr als 5
>>>9 ist mehr als 5
>>>10 ist mehr als 5Beipiele ==:
wir suchen die Zahl 6 in einer Liste:
Pythonsearch=6 Zahlen=[1,2,3,4,5,6,7,8,9,10] for zahl in Zahlen: if zahl == search: print str(zahl)+' gefunden.' else: pass
>>>6 gefundennatürlich könnten wir das auch ohne das definieren der Variable Zahlen erreichen
Pythonsearch=6 for zahl in [1,2,3,4,5,6,7,8,9,10]: if zahl == search: print str(zahl)+' gefunden.' else: pass
>>>6 gefunden
Beispiel >=:
>>>6
>>>7
>>>8
>>>9
>>>10Beispiel <=:
>>>1
>>>2
>>>3
>>>4
>>>5
>>>6Beispiel !=:
>>>1
>>>2
>>>3
>>>4
>>>5
>>>7
>>>8
>>>9
>>>10Aufgaben:
Aufgabe 1:
Erstellt euch eine Funktion searchZahl(search) die auf die einfachste Art und Weise und mit geringsten Schreibaufwand die Zahlen von 1-25 hält und probiert die veschieden Möglichkeiten aus!
Benutzt dabei euer Wissen aus den vorherigen Teilen.Aufgabe 2:
Das ist eine Textsearch so wie ich Sie in Addons verwende um ohne Beachtung der Groß und Kleinschreibung sowie auch nur mit Teil-Suche ein optimales Ergebnis zu erreichen.
Klärt selbständig was die noch nicht in den Teilen durchgesprochenen Begriffe machen .
Erklärt Euch den Code Zeile für Zeile selbst.Macht daraus eine Funktion um sie in eventuellen Addons von Euch später ohne große Veränderungen nutzen zu können.
Füllt else mit Leben!
Pythonsearch='' for name in ['Hans','Hannelore','Hanes','Hanf']: if ((name.upper()).find(str.upper(search))>=0): print name else: pass
[h1]Datei-Handling[/h1]Wir kennen bereits verschiedene Arten von Dateien, wie Musik-Dateien, Video-Dateien, Textdateien.
Python uns eine einfache Möglichkeiten diese Dateien zu manipulieren.
Im Allgemeinen teilen wir Dateien in zwei Kategorien ein, Textdatei und Binärdatei.
Die Textdateien halten einfachen Text
Die binären Dateien enthalten binäre Daten, die nur von Computer lesbar sind.Datei-öffnen
Um eine Datei zu öffnen verwenden wir die open () Funktion.
Sie erfordert zwei Argumente:1. den Path zur Datei oder nur den Dateinamen
2 welcher Mode zum öffnen benutzt wird.Die verschiedenen Modes sind:
Mode Bedeutung “r” öffnet ein File(Datei)read only, Du kannst Die Datei nur lesen nichts editieren oder löschen. "w” öffnet eine Datei zum schreiben.Das bedeutet wenn der File existiert löscht es den Inhalt und öffnet den File(Datei) zum schreiben. "a" Öffnet ein File(Datei) im Append(hinzufügen) Mode .Das bedeutet das man dem Inhalt des Files etwas hinzfügen kann wobei der hinzugefügte Inhalt am Ende des vorhandenen Inhalts angehangen wird. Ohne Angabe des Mode wird der default Mode ausgeführt (nur lesen).
Wichtig eine mit open geöffnete Datei muß immer zum Abschluß mit close() geschlossen werden.
Arbeiten an ständig offenen Dateien kostet mehr Speicher und führt mit der Zeit zu einer korrupten Datei.Wir erzeugen eine Leere Textdatei:
Beispiel:
Erzeugt eine Leere Textdatei im Verzeichnis der ausgeführten py Datei.
Wir schreiben in eine Textdatei:
Beispiel:
Pythonf=open('beispiel.txt','w') f.write('Das ist ein Test.\n') f.write('Python ist schon cool.\n') f.close()
Wir lesen eine Textdatei:Beispiel:
Wir fügen etwas Inhalt hinzu.
Beispiel:
Pythonf=open('beispiel.txt','a') f.write('wir lernen leider nicht schnell genug.\n') f.write('Denn auch Jan hat nicht immer ausreichend Zeit.\n') f.close()
[h1]Das with Statement[/h1]Mit Benutzung des with Statement wird der File automatisch geschlossen so das wir uns das
close() sparen
So sind wir sicher das der Speicher nicht vollgemüllt wird und es zu keiner korupten Datei führt.Beispiel:
Aufgaben :
1. Alle Beispiele ausführen.
2. Die verschiedenen Modi mit Benutzung des with Statments ausführen.
2. Was macht \n?
3. Was würde \t tun?
3. Was macht print ,?
4. Was oder worin besteht der Unterschied zum einlesen der Datei mit read() gegenüber den einlesen der Datei in einer for Schleife? -
Teil 6 oben.
Tut mir leid das es etwas gedauert hat .
Aber das Real -Live mit Arbeit und Familie ist ja auch noch da!In diesen Teil habe ich das erste mal direkt Aufgaben gestellt.
Deren Lösung auch auf das Wissen aus anderen Teilen beruht.
Versucht in ruhe alles auszuprobieren und die gestellten Aufgaben zu lösen.Gruß Jan
-
-
Tut mir leid das es etwas gedauert hat .
Aber das Real -Live mit Arbeit und Familie ist ja auch noch da!Danke für die Arbeit!
Und es ist kein Problem wir alle haben ein Leben außerhalb des Forums. -
\n bewirkt einen Zeilenvorschub
\t fügt einen Tabulator ein
print , bewirkt daß der Zeilenvorschub, der nach jeder Printanweisung ausgeführt wird, diesmal nicht gemacht wird
Code4. Was oder worin besteht der Unterschied zum einlesen der Datei mit read() gegenüber den einlesen der Datei in einer for Schleife?
Mit read liest man alles auf einen Schlag ein und mit For-Schleife Zeile für Zeile.Wobei mir beim rumprobieren aufgefallen ist, daß Python wohl keinen Inkrement wie i++ versteht.
-
-
Den ersten Teil bis zum Datei-Handling habe ich durchgearbeitet.
Aufgabe 2 habe ich hingekriegt:
Die Funktion durchsucht alle Namen einer Liste nach einem bestimmten String (Groß und Kleinschreibung wird ignoriert) und gibt die entsprechenden Namen aus. Ich suche nach dem Buchstaben e in meinem Beispiel.def textsearch (pliste,psearch):
for name in pliste:
if ((name.upper()).find(str.upper(psearch))>=0):
print 'Name mit Buchstabe '+psearch+': '+name
else:
print 'Name ohne Buchstabe '+psearch+': '+namefrom tools.myfunc import *
liste=['Hans','Hannelore','Hanes','Hanf']
textsearch (liste,'e')>>> Name ohne Buchstabe e: Hans
>>> Name mit Buchstabe e: Hannelore
>>> Name mit Buchstabe e: Hanes
>>> Name ohne Buchstabe e: HanfDie Aufgabenstellung von Aufgabe 1 wird mir leider nicht klar.
Was meinst du mit einer Funktion die die die Zahlen 1-25 hält ???Den Teil mit dem Dateihandling schaue ich mir morgen abend an. Ich gehe jetzt ins Bett
-
Die Aufgabenstellung von Aufgabe 1 wird mir leider nicht klar.
Was meinst du mit einer Funktion die die die Zahlen 1-25 hält ???Ja, doch nicht verständlich von mir ausgedrückt.
Innerhalb der Funktion sollen auf einfachste Art und Weise mit dem geringsten Schreibaufwand die Zahlen 1-25 bereitgestellt werden und dann in der Funktion mit ihnen gearbeitet werden.So klarer zu verstehen?
Gruß Jan
-
-
Wobei mir beim rumprobieren aufgefallen ist, daß Python wohl keinen Inkrement wie i++ versteht.
Ja , direkt wohl nicht .
Habe aber noch nicht in python 3 geschaut .
Ob es dort eventuell anders ist.Gruß Jan
Schau mal hier z.B:
http://stackoverflow.com/questions/1485…-in-python?lq=1 -
Ja, doch nicht verständlich von mir ausgedrückt.Innerhalb der Funktion sollen auf einfachste Art und Weise mit dem geringsten Schreibaufwand die Zahlen 1-25 bereitgestellt werden und dann in der Funktion mit ihnen gearbeitet werden.
So klarer zu verstehen?
Gruß Jan
Ich denke schon. Klingt wohl komplizierter als gewollt.
Die kürzeste Schreibweise für eine Iteration über 1-25 ist nach meiner Auffassung:
>>> for zahl in range(1,26):Hab Übung 1 nun auch erledigt....
-
-
So habe den Teil auch durchgearbeitet. Nur noch verinnerlichen.
@Bulvai bitte die Lösungen von dir in einen Spoiler legen. So können wir auch ein wenig überlegen
So kurz wie @Hagba20 hab ich es nicht, aber leicht verständlich war es das du ..
Spoiler anzeigen
@skatulskijean habe meinen Text in der Aufgabe leicht abgeändert:
-
-
-
Die kürzeste Schreibweise für eine Iteration über 1-25 ist nach meiner Auffassung:
>>> for zahl in range(1,26):Ja so war es gemeint!
-
So Jungs habe im Moment keine Zeit den Teil 5 zu machen, wwerde mir das am WE verinnerlichen.
-
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!