Python: Unterschied zwischen den Versionen

Aus QED-WIKI - Ein Berliner Mathe-WIKI von und für Schülerinnen und Schüler
Wechseln zu: Navigation, Suche
(zum-wiki:)
 
(6 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
 
[[Kategorie:Programmiersprachen]]
 
[[Kategorie:Programmiersprachen]]
Ich möchte euch hier noch eine Programmiersprache vorstellen, nämlich Python. Python gibt es als kostenlosen Download und ihr findet viele gute auch deutschsprachige Tutorials im Internet. Man kann prozedural oder objektorientiert programmieren. Python ist einfach und übersichtlich und damit gut lesbar und relativ leicht zu erlernen.   
+
Ich möchte euch hier noch eine Programmiersprache vorstellen, nämlich '''Python'''. Python gibt es als kostenlosen Download [http://www.python.org/getit/] und ihr findet viele gute auch deutschsprachige Tutorials im Internet. Man kann prozedural oder auch objektorientiert programmieren, Python schreibt nichts vor. Python ist einfach und übersichtlich und damit gut lesbar und leicht zu erlernen.   
Es werden z. B. keine geschweiften Klammern oder Semikolons verwendet, sondern Schachtelung wird durch Einrücken gemacht, Variablen werden bei der ersten Benutzung deklariert.  
+
Es werden z. B. keine geschweiften Klammern oder Semikolons verwendet, sondern Schachtelung wird durch Einrücken gemacht, Variablen werden bei der ersten Benutzung deklariert. Man kann sehr leicht Dinge interaktiv ausprobieren in der Python Shell:
  
def Fakultaet(n):
+
[[Datei:PythonShell.jpg|600px]]
  ergebnis = 1
+
  for i in range(1, n + 1):
+
    ergebnis = ergebnis*i
+
  return(ergebnis)
+
 
+
# Aufruf, z.B.
+
print(Fakultaet(4)) 
+
  
Man kann sehr leicht Sachen interaktiv ausprobieren in einer Shell. Außerdem ist Python sehr gut für (nicht zu rechenintensive) mathematische Experimente geeignet, denn Python unterstützt komplexe Zahlen als Typ und sehr lange Integer. Wer z.B. mal ganz viele Stellen von Pi ausrechnen will, kann das mit z.B. Python machen:
+
Außerdem ist Python sehr gut für (nicht zu rechenintensive) mathematische "Experimente" geeignet, denn Python unterstützt z.B. komplexe Zahlen als Typ und sehr lange Integer. Wer mal ganz viele Stellen von Pi ausrechnen lassen will, kann das leicht mit Python machen:
  
 
  # -*- coding: iso-8859-1 -*-
 
  # -*- coding: iso-8859-1 -*-
Zeile 23: Zeile 16:
 
     nPi = 2
 
     nPi = 2
 
     dPi = 1
 
     dPi = 1
 +
    # Zähler und Nenner bestimmen
 
     for k in range(1, 4*max + 1):
 
     for k in range(1, 4*max + 1):
 
         i = i + 1
 
         i = i + 1
Zeile 28: Zeile 22:
 
         dPi = dPi * (2 * i + 1)
 
         dPi = dPi * (2 * i + 1)
 
         nPi = nPi * (2 * i + 1) + n
 
         nPi = nPi * (2 * i + 1) + n
 +
    # Ausgabestring initialisieren
 
     Pi = ""
 
     Pi = ""
 +
    # Integerdivision
 
     for k in range(1, max + 1):
 
     for k in range(1, max + 1):
 
         i = 0
 
         i = 0
Zeile 34: Zeile 30:
 
             nPi = nPi - dPi
 
             nPi = nPi - dPi
 
             i += 1
 
             i += 1
 +
        # neue Stelle zu Pi hinzufügen   
 
         Pi += str(i)
 
         Pi += str(i)
 
         if k == 1:
 
         if k == 1:
Zeile 46: Zeile 43:
 
3,141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198
 
3,141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198
  
Die Idee zur Berechnung von Pi stammt (leider) nicht von mir sondern aus einem Scratch Projekt: http://www.scratch.mit.edu/projects/Kinderlabor/2412305
+
Die Idee zur Berechnung von Pi stammt (leider) nicht von mir, sondern aus einem Scratch Projekt [http://www.scratch.mit.edu/projects/Kinderlabor/2412305], ich habe es dann nur in Python ausprobiert. Hierbei wird eine Reihenentwicklung von Pi genutzt:
  
Normalerweise wird Python interpretiert. Man kann aber auch Jython verwenden, so dass man in Python Java nutzen kann, damit kann man aus seinen Programmen auch z.B. JARs erstellen, die auf anderen Computern ohne installiertes Python laufen.
+
<math>$ \pi=\frac{2}{1} +\frac{2*1}{1*3}+\frac{2*1*2}{1*3*5}+\frac{2*1*2*3}{1*3*5*7}+...$</math>
 +
 
 +
 
 +
Normalerweise wird Python interpretiert. Man kann aber auch Jython (Java + Python) verwenden, so dass man in Python auch Java nutzen kann, damit kann man aus seinen Programmen z.B. JARs erstellen, die auf anderen Computern ohne installiertes Python laufen.
 +
 
 +
Ich habe u.a. Python für die Aufgaben des diesjährigen Bundeswettbewerbs Informatik [http://www.bundeswettbewerb-informatik.de/] genutzt (zufällig waren die bestgewerteten Aufgaben alle mit Python gelöst ;-) ).
 +
 
 +
 
 +
[[zum-wiki:Python]]

Aktuelle Version vom 16. Februar 2015, 20:57 Uhr

Ich möchte euch hier noch eine Programmiersprache vorstellen, nämlich Python. Python gibt es als kostenlosen Download [1] und ihr findet viele gute auch deutschsprachige Tutorials im Internet. Man kann prozedural oder auch objektorientiert programmieren, Python schreibt nichts vor. Python ist einfach und übersichtlich und damit gut lesbar und leicht zu erlernen. Es werden z. B. keine geschweiften Klammern oder Semikolons verwendet, sondern Schachtelung wird durch Einrücken gemacht, Variablen werden bei der ersten Benutzung deklariert. Man kann sehr leicht Dinge interaktiv ausprobieren in der Python Shell:

PythonShell.jpg

Außerdem ist Python sehr gut für (nicht zu rechenintensive) mathematische "Experimente" geeignet, denn Python unterstützt z.B. komplexe Zahlen als Typ und sehr lange Integer. Wer mal ganz viele Stellen von Pi ausrechnen lassen will, kann das leicht mit Python machen:

# -*- coding: iso-8859-1 -*-
from math import *
def Pi_bestimmen(max):
   i = 0
   n = 2
   nPi = 2
   dPi = 1
   # Zähler und Nenner bestimmen
   for k in range(1, 4*max + 1):
       i = i + 1
       n = n * i
       dPi = dPi * (2 * i + 1)
       nPi = nPi * (2 * i + 1) + n
   # Ausgabestring initialisieren
   Pi = ""
   # Integerdivision
   for k in range(1, max + 1):
       i = 0
       while nPi >= dPi:
           nPi = nPi - dPi
           i += 1
       # neue Stelle zu Pi hinzufügen    
       Pi += str(i)
       if k == 1:
           Pi += ","
       nPi = nPi * 10
   print (Pi)
Pi_bestimmen(1000)       

liefert

3,141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198

Die Idee zur Berechnung von Pi stammt (leider) nicht von mir, sondern aus einem Scratch Projekt [2], ich habe es dann nur in Python ausprobiert. Hierbei wird eine Reihenentwicklung von Pi genutzt:

$ \pi=\frac{2}{1} +\frac{2*1}{1*3}+\frac{2*1*2}{1*3*5}+\frac{2*1*2*3}{1*3*5*7}+...$


Normalerweise wird Python interpretiert. Man kann aber auch Jython (Java + Python) verwenden, so dass man in Python auch Java nutzen kann, damit kann man aus seinen Programmen z.B. JARs erstellen, die auf anderen Computern ohne installiertes Python laufen.

Ich habe u.a. Python für die Aufgaben des diesjährigen Bundeswettbewerbs Informatik [3] genutzt (zufällig waren die bestgewerteten Aufgaben alle mit Python gelöst ;-) ).