Informatik Algorithmik
3. Spezielle Funktionen, Module verwenden
3.1. Grundlagen
1. Bemerkung
Viele Grundfunktionen sind in Python direkt vorhanden und abrufbar.
Gewisse Funktionen befinden sich aber in externen Modulen und können erst verwen- det werden, wenn dieses Modul aufgerufen wurde.
In diesem Kapitel betrachten wir ein paar dieser Module.
2. Quadratwurzel
Berechne zu zwei eingegebenen Katheten eines rechtwinkligen Dreiecks die Hypote- nuse.
Diese Aufgabe verlangt eine einfache Anwendung des Satzes von Pythagoras. Tippe das folgende Programm ein und lass es laufen.
# H y p o t e n u s e
from math import *
a = float(input( " K a t h e t e a = ? " ) ) b = float(input( " K a t h e t e b = ? " ) ) c = sqrt ( a * a + b * b )
print( " L ä nge der H y p o t e n u s e c = " , c )
Beachte: Die Funktion sqrt(...) berechnet die Quadratwurzel einer Zahl. Diese Funktion ist im Modulmathprogrammiert und kann erst verwendet werden, nachdem dieses Modul ins Programm importiert wurde.
3. Division mit und ohne Rest
Eine Gruppe von 40 Personen macht einen Ausflug mit einer Bergbahn. Dabei kostet ein Einzelbillett 15 Franken und ein Abonnement für 12 Fahrten kostet 170 Franken.
Hier benötigen wir die ganzzahlige Division mit Rest. Wenn man 40 durch 12 dividiert, dann geht das 3 Mal auf. Der Rest bei dieser Division beträgt 4.
# Ber gbah n
g r u p p e = int(input( " G r u p p e n g r ö sse ? " ) )
e i n z e l = float(input( " P r e i s der E i n z e l f a h r t ? " ) ) a b o p r e i s = float(input( " P r e i s f ü r ein 12 - er - Abo ? " ) ) a n z a b o = g r u p p e // 12
a n z e i n z = g r u p p e % 12
t a r i f = a n z a b o * a b o p r e i s + a n z e i n z * e i n z e l print( " L ö sen Sie " , anzabo , " 12 - er Abos " ) print( " und " , anzeinz , " F a h r t e n e i n z e l n . " ) print( " Die R e i s e k o s t e t " , tarif , " Fr . " )
9
Informatik Algorithmik
Beachte: Für dieses Programm muss man kein Modul importieren.
Damit die ganzzahlige Division mit und ohne Rest sicher funktioniert, sollte man die entsprechenden Variablen als ganze Zahlen (int) festlegen.
a // b berechnet die Division ohne Rest, a % b berechnet den entstehenden Rest.
Für den erhaltenen Rest verwenden Mathematiker den Fachbegriff modulo.
4. Zufallszahlen
Der Computer würfelt einmal. Du versuchst, die gewürfelte Zahl zu erraten.
# Wue rfel n
from r a n d o m import *
g e w u e r f e l t = r a n d i n t (1 ,6)
g e r a t e n = int(input( " W e l c h e Zahl w u r d e gew ü r f e l t ? " ) ) if ( g e w u e r f e l t == g e r a t e n ) :
print( " T r e f f e r ! R i c h t i g g e r a t e n . "
else:
print( " L e i d e r k n a p p d a n e b e n . " )
Beachte: Mit randint(1,6)wird eine ganze Zahl zwischen 1 und 6 (Grenzen inklusi- ve) zufällig generiert. Für diese Funktion muss man das Modul random importieren.
Es empfiehlt sich, die benötigten Module immer am Anfang des Programms zu dekla- rieren.
10