NBA_03_Funktionen¶
(c) 2026 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
mathematische Funktionen¶
a x² + b x + c
In [1]:
def f1(x):
return 4*x**2+2*x+5
In [2]:
f1(0)
Out[2]:
5
In [3]:
def f2(x):
ergebnis = 4*x**2+2*x+5
return ergebnis
In [4]:
f2(1)
Out[4]:
11
In [5]:
def f(x,a=1,b=0,c=0):
return a*x**2+b*x+c
In [6]:
def g(x):
return f(x,4,2,5)
In [7]:
g(1)
Out[7]:
11
In [8]:
g(0)
Out[8]:
5
In [9]:
tabelle=[]
for x in range(-6,5):
tabelle.append((x,f1(x)))
print(tabelle)
[(-6, 137), (-5, 95), (-4, 61), (-3, 35), (-2, 17), (-1, 7), (0, 5), (1, 11), (2, 25), (3, 47), (4, 77)]
In [10]:
from pygal import XY
from IPython.display import SVG
xy = XY()
xy.add('y=4*x**2+2*x+5', tabelle)
SVG(xy.render())
Out[10]:
Vektorrechnung¶
In [11]:
v = [1,2,3]
w = [8,4,2]
def vektoradd(a,b):
ergebnis = [0,0,0]
ergebnis[0] = a[0] + b[0]
ergebnis[1] = a[1] + b[1]
ergebnis[2] = a[2] + b[2]
return ergebnis
print(vektoradd(v,w))
[9, 6, 5]
In [12]:
def vektoradd(a,b):
ergebnis = [0] * len(a)
for i in range(len(a)):
ergebnis[i] = a[i]+b[i]
return ergebnis
print(vektoradd(v,w))
[9, 6, 5]
In [13]:
x = [3,1,2,2,1]
y = [1,3,2,2,3]
print(vektoradd(x,y))
[4, 4, 4, 4, 4]
In [14]:
def vektormult(a,b):
ergebnis = [0] * len(a)
for i in range(len(a)):
ergebnis[i] = a[i]*b
return ergebnis
print(vektormult(v,3))
print(vektormult(w,5))
print(vektormult(x,2))
[3, 6, 9] [40, 20, 10] [6, 2, 4, 4, 2]
In [15]:
v = [[3,2,1],
[1,0,2]]
w = [[1,2],
[0,1],
[4,0]]
def matrixmult(a,b):
c = [[0 for x in range(len(b[0]))] for y in range(len(a))]
for i in range(len(a)):
for k in range(len(b[0])):
for j in range(len(b)):
c[i][k] = c[i][k] + a[i][j] * b[j][k]
return c
print(matrixmult(v,w))
[[7, 8], [9, 2]]
In [16]:
x = [[1,3,2],
[0,2,1],
[0,0,3]]
y = [[2,0,0],
[5,3,0],
[8,6,4]]
print(matrixmult(x,y))
[[33, 21, 8], [18, 12, 4], [24, 18, 12]]
Textverarbeitung¶
In [17]:
def asciiChar(i):
return "{:=03} | 0x{:03x} | {:6}\n".format(i,i,repr(chr(i)))
print(asciiChar(13))
013 | 0x00d | '\r'
In [18]:
def asciiListe():
s = ""
for i in range(127):
s += asciiChar(i)
return s
print(asciiListe())
000 | 0x000 | '\x00'
001 | 0x001 | '\x01'
002 | 0x002 | '\x02'
003 | 0x003 | '\x03'
004 | 0x004 | '\x04'
005 | 0x005 | '\x05'
006 | 0x006 | '\x06'
007 | 0x007 | '\x07'
008 | 0x008 | '\x08'
009 | 0x009 | '\t'
010 | 0x00a | '\n'
011 | 0x00b | '\x0b'
012 | 0x00c | '\x0c'
013 | 0x00d | '\r'
014 | 0x00e | '\x0e'
015 | 0x00f | '\x0f'
016 | 0x010 | '\x10'
017 | 0x011 | '\x11'
018 | 0x012 | '\x12'
019 | 0x013 | '\x13'
020 | 0x014 | '\x14'
021 | 0x015 | '\x15'
022 | 0x016 | '\x16'
023 | 0x017 | '\x17'
024 | 0x018 | '\x18'
025 | 0x019 | '\x19'
026 | 0x01a | '\x1a'
027 | 0x01b | '\x1b'
028 | 0x01c | '\x1c'
029 | 0x01d | '\x1d'
030 | 0x01e | '\x1e'
031 | 0x01f | '\x1f'
032 | 0x020 | ' '
033 | 0x021 | '!'
034 | 0x022 | '"'
035 | 0x023 | '#'
036 | 0x024 | '$'
037 | 0x025 | '%'
038 | 0x026 | '&'
039 | 0x027 | "'"
040 | 0x028 | '('
041 | 0x029 | ')'
042 | 0x02a | '*'
043 | 0x02b | '+'
044 | 0x02c | ','
045 | 0x02d | '-'
046 | 0x02e | '.'
047 | 0x02f | '/'
048 | 0x030 | '0'
049 | 0x031 | '1'
050 | 0x032 | '2'
051 | 0x033 | '3'
052 | 0x034 | '4'
053 | 0x035 | '5'
054 | 0x036 | '6'
055 | 0x037 | '7'
056 | 0x038 | '8'
057 | 0x039 | '9'
058 | 0x03a | ':'
059 | 0x03b | ';'
060 | 0x03c | '<'
061 | 0x03d | '='
062 | 0x03e | '>'
063 | 0x03f | '?'
064 | 0x040 | '@'
065 | 0x041 | 'A'
066 | 0x042 | 'B'
067 | 0x043 | 'C'
068 | 0x044 | 'D'
069 | 0x045 | 'E'
070 | 0x046 | 'F'
071 | 0x047 | 'G'
072 | 0x048 | 'H'
073 | 0x049 | 'I'
074 | 0x04a | 'J'
075 | 0x04b | 'K'
076 | 0x04c | 'L'
077 | 0x04d | 'M'
078 | 0x04e | 'N'
079 | 0x04f | 'O'
080 | 0x050 | 'P'
081 | 0x051 | 'Q'
082 | 0x052 | 'R'
083 | 0x053 | 'S'
084 | 0x054 | 'T'
085 | 0x055 | 'U'
086 | 0x056 | 'V'
087 | 0x057 | 'W'
088 | 0x058 | 'X'
089 | 0x059 | 'Y'
090 | 0x05a | 'Z'
091 | 0x05b | '['
092 | 0x05c | '\\'
093 | 0x05d | ']'
094 | 0x05e | '^'
095 | 0x05f | '_'
096 | 0x060 | '`'
097 | 0x061 | 'a'
098 | 0x062 | 'b'
099 | 0x063 | 'c'
100 | 0x064 | 'd'
101 | 0x065 | 'e'
102 | 0x066 | 'f'
103 | 0x067 | 'g'
104 | 0x068 | 'h'
105 | 0x069 | 'i'
106 | 0x06a | 'j'
107 | 0x06b | 'k'
108 | 0x06c | 'l'
109 | 0x06d | 'm'
110 | 0x06e | 'n'
111 | 0x06f | 'o'
112 | 0x070 | 'p'
113 | 0x071 | 'q'
114 | 0x072 | 'r'
115 | 0x073 | 's'
116 | 0x074 | 't'
117 | 0x075 | 'u'
118 | 0x076 | 'v'
119 | 0x077 | 'w'
120 | 0x078 | 'x'
121 | 0x079 | 'y'
122 | 0x07a | 'z'
123 | 0x07b | '{'
124 | 0x07c | '|'
125 | 0x07d | '}'
126 | 0x07e | '~'
Generelle Verwendung von Funktionen¶
wenn immer wieder mehrere Operationen (Zeilen von Code) ausgeführt werden, bei denen sich nur einige (wenige) Werte ändern.
Überlegen sie, warum eine Funktion testklasse sinnvoll ist, um zu überprüfen, ob ein Argument eine Instanz einer bestimmten Klasse ist.