154 lines
2.7 KiB
Python
154 lines
2.7 KiB
Python
# %% [markdown]
|
|
# # Grundlegende Datentypen und Operationen
|
|
|
|
# %% [markdown]
|
|
# ## Numerische Typen
|
|
|
|
# %%
|
|
# Ganzzahlen (Integers)
|
|
|
|
a = 42
|
|
b = 23
|
|
print(a)
|
|
print(b)
|
|
print(a + b)
|
|
|
|
# %%
|
|
# Fließkommazahlen (Floats)
|
|
|
|
pi = 3.14159
|
|
e = 2.71828
|
|
print(pi)
|
|
print(type(pi))
|
|
print(e)
|
|
print(pi * e)
|
|
|
|
# %%
|
|
# Implizite Umwandlung von numerischen Typen
|
|
|
|
i = 3
|
|
f = 1.5
|
|
summe = a + f
|
|
print(i, f, summe)
|
|
print(type(e))
|
|
z = 1
|
|
n = 6
|
|
print(z / n)
|
|
|
|
# %%
|
|
# Grundrechenarten
|
|
|
|
# Integer
|
|
print(1 + 1)
|
|
print(1_000 - 1)
|
|
print(12 * 12) # Vorsicht: Asterisk ("Sternchen"), nicht x)
|
|
print(64 / 8)
|
|
|
|
# Floats
|
|
print(0.5 + 3.3)
|
|
print(1.99 - 0.99)
|
|
print(20.0 * 1.19)
|
|
print(1.0 / 3.0)
|
|
|
|
# %%
|
|
# X hoch Y
|
|
|
|
x = 8
|
|
x2 = x ** 2
|
|
print(x2)
|
|
print(x ** 3)
|
|
print(pow(x, 3))
|
|
|
|
print(x ** e)
|
|
print(pow(x, e)) # pow akzeptiert integer und floats
|
|
|
|
# %%
|
|
# Modulo
|
|
|
|
x = 10
|
|
y = 3
|
|
rest = x % 3
|
|
print(rest)
|
|
print(type(rest))
|
|
|
|
# %% [markdown]
|
|
# # Strings
|
|
|
|
# %%
|
|
s = "Dies ist ein String!"
|
|
print(s)
|
|
s2 = 'Man kann einfache oder doppelte Anführungszeichen verwenden.'
|
|
print(s2)
|
|
s3a = 'Innerhalb der Anführungszeichen kann man den jeweils "anderen Typ" verwenden'
|
|
print(s3a)
|
|
s3b = "Oder 'andersherum'."
|
|
print(s3b)
|
|
s4 = "Alternativ kann man eine Backslash als \"Escape\"-Zeichen verwenden"
|
|
print(s4)
|
|
s5 = "String-Literale" ", die direkt hintereinander" ", durch Leerzeichen getrennt, stehen" "werden zusammengefügt."
|
|
print(s5)
|
|
s6 = ("Mit Klammerung klappt das auch "
|
|
"über mehrere Zeilen "
|
|
"hinweg")
|
|
print(s6)
|
|
|
|
# %%
|
|
# Längere Strings
|
|
|
|
long_string = """Dies ist ein langer String ("triple quoted string").
|
|
Er kann Zeilenumbrüche enthalten.
|
|
|
|
Und Leerzeilen.
|
|
|
|
Und auch 'einfache' oder "doppelte" Anführungszeichen.
|
|
|
|
Er endet mit drei weiteren Anführungszeichen des gleichen Typs.
|
|
"""
|
|
print(long_string)
|
|
print(repr(long_string))
|
|
|
|
# %%
|
|
# Escape Sequenzen
|
|
|
|
# Zeilenumbrüche und Tabs
|
|
print("Erste Zeile\r\nZweite Zeile") # Zeilenumbruch nach Windows-Art
|
|
print("Eine Zeile\nNoch eine Zeile") # Rest der Welt ;-)
|
|
print("Eins\tZwei\tDrei")
|
|
print("1\t2\t3")
|
|
|
|
# Null und Hexadezimal- und Unicode-Sequenzen
|
|
print(repr("Dieser String enthält ein\0Null-Zeichen"))
|
|
print("Hexadezimal-Codes können wir druckbare (e.g. '\x40') und nicht druckbare Zeichen (e.g. \x7F) verwendet werden.")
|
|
print('\u2764') # Unicode
|
|
|
|
# %%
|
|
# String-Operationen
|
|
|
|
s1 = "Dies ist der erste String."
|
|
s2 = "Und dies der zweite."
|
|
s3 = s1 + s2
|
|
print(s3)
|
|
s4 = "Ich habe es dir schon dreimal gesagt! "
|
|
print(s4 * 3)
|
|
|
|
# %%
|
|
klein = "schrei nicht so laut!"
|
|
print(klein.upper())
|
|
print("hallo" == "HALLO".lower())
|
|
print("hallo" == "Hallo".lower())
|
|
print("straße".upper() == "STRASSE")
|
|
|
|
|
|
# %%
|
|
hallo = "Hallo"
|
|
print(hallo)
|
|
print(hallo[1])
|
|
print(hallo[0] + 'e' + hallo[2:])
|
|
|
|
# %%
|
|
# Aber das geht nicht!:
|
|
|
|
hallo[1] = 'e'
|
|
|
|
|