1 / 12

SFZ FN Sj. 13/14

SFZ FN Sj. 13/14. Python Grundlagen. Start von EcPy / Doku. Doku im Internet: w2.gzg-fn.de/info Download von EcPy (steht auch in P:FreigabeInformatik)

efrem
Télécharger la présentation

SFZ FN Sj. 13/14

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SFZ FN Sj. 13/14 Python Grundlagen GZG FN W.Seyboldt

  2. Start von EcPy / Doku • Doku im Internet: w2.gzg-fn.de/info • Download von EcPy (steht auch in P:\Freigabe\Informatik) • Python Lösungen – die Programme in den Moduln *_loes, im Internet src.zip, am GZG in P:\Freigabe\sey\inf\src zum direkten Kopieren in Ecpy • In P:\Freigabe\Sey\Inf stehen ebenfalls die Unterlagen. • Die wichtigsten Grundlagen zu Python stehen in aa_PythonInfos_Grundlagen.doc GZG FN W.Seyboldt

  3. Grundlegende Elemente • In Python müssen Variable nicht deklariert werden – im Gegensatz zu den meisten Programmier-sprachen. Sie werden beim ersten Zuweisen angelegt. • Aber bei Variablen das Zuweisen nicht vergessen: Im Speicherplatz der linken Seite einer „Gleichung“ wird das abgespeichert, was mit der rechten Seite berechnet wird. • Man unterscheidet zwischen Strings, Int (beliebig große Zahlen und float-Variablen (endliche Genauigkeit – sonst Decimals • int(2.33)# liefert 2 • float(3)# liefert 3.0 • str(53)# liefert die Zahl 53 als Zeichenkette GZG FN W.Seyboldt

  4. Listen • Listen sind eine sehr flexible Variante, viele Variable zu verketten (Array) • L = [1,7,“sieben“,[9,4]] • fo=[a,b]; i=2 while i<bis: i+=1 if i%2==1: c=a+b ; else: c=float(b)/a fo.append(c) ; a,b=b,c • L = [x * 3 for x in range(4)] L1 = L[3:-1] #Von 3 bis vors letzte El. GZG FN W.Seyboldt

  5. Schleifen • sum=0for i in range(1,27): sum+=i*i • # Liste in umgekehrter Richtung abarbeiten.for i in reversed(range(1,4)): # oder reversed(list), print i • # Auf Nr und Element gleichzeitig zugreifenfor nr,el in enumerate(liste): print i,j • sum=0i=1while sum<1000: sum+=i*i i+=1 • while b!=0: r=a%b a,b=b,r • break # beendet die Schleife • continue # beendet >nächste Schleife GZG FN W.Seyboldt

  6. Bedingungen • if i>30: s=i*ielif i>20: s=i*i*ielse: s=i*i*i*i • if a>b: # sorge dafür, dass a<b ist. a,b=b,a • if betrag(a-x*x)<genauigkeit: return x GZG FN W.Seyboldt

  7. Funktionen • def f(x): return 3*x*x+3*x-2 • def note(punkte): if punkte > 23: return 15 if punkte > 19: return 13 … • def fakultaet(n): if n==1: return 1 return n*fakultaet(n-1) • def fakultaet(n): erg=1 for i in range(2,n): erg*=i return erg*n GZG FN W.Seyboldt

  8. Element am Beginn einer Liste • Die Methode li.append(el) fügt in einer Liste li das neue Element hinten bei der Liste dazu. • Programmiere eine Methode vorne(el, liste), die ein Element an der ersten Stelle der Liste einfügt. def vorne(el, liste): if len(liste)==0: return [el] li=[0 for i in range(len(liste)+1)] for i in range(len(liste)): li[i+1]=liste[i] li[0]=el return li GZG FN W.Seyboldt

  9. Geschachtelte Schleifen • Berechne alle pythagoräischen Zahlen, d.h. alle Zahlentripel (a,b,c) mit a2+b2=c2 def pythagoraeischeZahlen(n): pyZahlen=[] for a in range(1,n): for b in range(a,n): c_square = a**2 + b**2 c = int(sqrt(c_square)) if ((c_square - c**2) == 0): pyZahlen.append([a, b, c]) return pyZahlen GZG FN W.Seyboldt

  10. Nullstellenverfahren • Ist f stetig (d.h. f hat keine Sprungstellen, dies ist normalerweise in der Schule erfüllt)und f(a)*f(b)<0, dann gibt es im Intervall [a,b] mindestens eine Nullstelle. • Intervallschachtelung: Wähle iterativ die Intervallhälfte, für die das Produkt der Funktionswerte an den Grenzen kleiner Null ist. • Newtonverfahren: Ersetze die Funktion durch eine lineare Funktion, die die Steigung der Funktion f im Punkt a hat, der nahe der Nullstelle ist. GZG FN W.Seyboldt

  11. Intervallschachtelung while abs(b-a)>eps: m=(a+b)/2 iterationenAnz+=1 if f(m)==0: # Nullstelle gefunden break elif f(a)*f(m)<0: b=m else: a=m if iterationenAnz>200: # Abbruch iterationenAnz=-2 ; break return m,iterationenAnz GZG FN W.Seyboldt

  12. Newtonverfahren while abs(a-aAlt)>eps: an=a-f(a)/fs(f,a) # die neueNäherung aAlt=a a=an iterationen+=1 if iterationen>50: # Abbruch iterationen=0 break GZG FN W.Seyboldt

More Related