121325/tex/hello12122025std.py

# (c) david vajda
# 12/12/2025 1936A
# python 3 std uebung every day
# hello world!!!

print ("hello world")
print ("# (c) david vajda")
print ("# 12/12/2025 1936A")
print ("# python 3 std uebung every day")
print ("# hello world!!!")
## mit dem buch, author titel siehe unten
import time
print (time.localtime())



a = 3
b = 5
c = a + b

print (a, "+", b, "=", c)

divisor1 = 11
dividend1 = 151
quotient1 = dividend1 / divisor1
print (dividend1, "/", divisor1, "=", quotient1)
divisor2 = 151
dividend2 = 11
quotient2 = dividend2 / divisor2
print (dividend2, "/", divisor2, "=", quotient2)

# ganzzahldivision??? buch - thomas theis - einstieg in python - rheinwerk
# seite 26, ganzzahldivision, mit //

divisor3 = 11
dividend3 = 151
quotient3 = dividend3 // divisor3
rest3 = dividend3 % divisor3
print (dividend3, "//", divisor3, "=", quotient3, "rest", rest3)
divisor4 = 151
dividend4 = 11
quotient4 = dividend4 // divisor4
rest4 = dividend4 % divisor4
print (dividend4, "//", divisor4, "=", quotient4, "rest", rest4)

multiplikand3 = divisor3
multiplikator3 = quotient3
produkt3 = multiplikator3 * multiplikand3 + rest3

multiplikand4 = divisor4
multiplikator4 = quotient4
produkt4 = multiplikator4 * multiplikand4 + rest4

print (multiplikator3, "*", multiplikand3, "+", rest3, "=", produkt3)
print (multiplikator4, "*", multiplikand4, "+", rest4, "=", produkt4)

# zins erste rechnung, nach prozent
# G: Grundwert
# W: Prozentwert??
# p: prozentfuss
# p%: prozentwert

G = 500
W = 5
p = W/G

print (W, "/", G, "=", p*100, "%")

# zinsrechnung - und erste funktion

kapital = 2000.0
laufzeit = 12
zinssatz = 0.02

def rendite (kapital, zinssatz, laufzeit):
    if laufzeit > 0:
        renditeaktuell = rendite (kapital, zinssatz, laufzeit - 1)
        renditeaktuell = renditeaktuell + renditeaktuell * zinssatz
    else:
        renditeaktuell = kapital
    return renditeaktuell

print (rendite (kapital, zinssatz, laufzeit))

# jetzt koennen wir davon eine funktion zeichnen, indem wir das
# ganze noch mal machen mit array

kapital = 2000.0
laufzeit = 12
zinssatz = 0.02
v_renditedb = [2000.00]
v_laufzeitdb = [0]

def f_renditedb (kapital, zinssatz, laufzeit, v_renditedb, v_laufzeitdb):
    if laufzeit > 0:
        renditeaktuell = f_renditedb (kapital, zinssatz, laufzeit - 1, v_renditedb, v_laufzeitdb)
        renditeaktuell = renditeaktuell + renditeaktuell * zinssatz
        v_renditedb = v_renditedb.append (renditeaktuell)
        v_laufzeitdb = v_laufzeitdb.append (laufzeit)
    else:
        renditeaktuell = kapital
    return renditeaktuell

print (f_renditedb (kapital, zinssatz, laufzeit, v_renditedb, v_laufzeitdb))
print (v_renditedb)
print (v_laufzeitdb)

# nun der plot

import matplotlib.pyplot as plt
plt.plot (v_laufzeitdb, v_renditedb, label="zuwachsrate??/rendite, bei 2% auf 2000.00 GE, bei 12 zeiteinheiten")
# plt.show ()

kapital = 2000.0
laufzeit = 12
zinssatz = 0.02
v_renditedb = [2000.00]
v_laufzeitdb = [0]

print (f_renditedb (kapital, zinssatz, laufzeit, v_renditedb, v_laufzeitdb))
print (v_renditedb)
print (v_laufzeitdb)

# nun der plot

plt.plot (v_laufzeitdb, v_renditedb, label="zuwachsrate??/rendite, bei 50% auf 2000.00 GE, bei 12 zeiteinheiten")

kapital = 2000.0
laufzeit = 12
zinssatz = 0.5
v_renditedb = [2000.00]
v_laufzeitdb = [0]

print (f_renditedb (kapital, zinssatz, laufzeit, v_renditedb, v_laufzeitdb))
print (v_renditedb)
print (v_laufzeitdb)

# nun der plot

plt.plot (v_laufzeitdb, v_renditedb, label="zuwachsrate??/rendite, bei 50% auf 2000.00 GE, bei 12 zeiteinheiten")

# plt.show ()

# aus dem buch
valmin = 1
valmax = 16

import random
random.seed ()

M1 = []
M2 = []


def genCol (n):
    i = 0
    m_ = []
    while i < n:
        m_.append (random.randint(valmin, valmax))
        i = i + 1
    return m_

# test
print ("# test")
print (genCol(4))


def genM (n, m):
    i = 0
    M = []
    while i < m:
        M.append (genCol(n))
        i = i + 1
    return M

print (genM(4,4))

def printM (M):
    print ()
    i = 0
    while i < len(M):
        print (M[i])
        i = i + 1

printM(genM(4,4))

def mulM (M1, M2):
    i = 0
    j = 0
    M3 = []

    while i < len(M1):
        j = 0
        m_ = []
        while j < len (M2[i]):
            l = 0
            v = 0
            while l < len (M1[i]):
                v = M1 [i][l] * M2[l][j] + v
                l = l + 1
            j = j + 1
            m_.append (v)
        M3.append (m_)
        i = i + 1
    return (M3)

M1 = genM (4,4)
M2 = genM (4,4)
printM(M1)
printM(M2)
printM(mulM (M1,M2))