189 lines
3.3 KiB
Python
189 lines
3.3 KiB
Python
# %% [markdown]
|
|
# # Grundlegende Datentypen und Operationen
|
|
|
|
# %% [markdown]
|
|
# ## Numerische Typen
|
|
|
|
# %%
|
|
# Ganzzahlen (Integers)
|
|
|
|
a = 42
|
|
b = 23
|
|
c = 0x20
|
|
d = 0b1110101
|
|
#e = calculate()
|
|
f = 1_000_000
|
|
print(a)
|
|
print(b)
|
|
print(a + b)
|
|
print(a - b)
|
|
|
|
# %%
|
|
# Fließkommazahlen (Floats)
|
|
|
|
pi = 3.14159
|
|
e = 2.71828
|
|
print(pi)
|
|
print(type(pi))
|
|
print(e)
|
|
x = pi * e
|
|
print(x)
|
|
print(type(x))
|
|
|
|
# %%
|
|
# Implizite Umwandlung von numerischen Typen
|
|
|
|
i = 3
|
|
f = 1.5
|
|
summe = i + f
|
|
print(i, f, summe)
|
|
print(type(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))
|
|
f = 1.2345
|
|
i = int(f)
|
|
print(f, i)
|
|
print(f % 1)
|
|
print(int(-2.3456))
|
|
print(round(2.3455, 2))
|
|
import math
|
|
print(math.floor(2.345))
|
|
|
|
# %% [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 = [
|
|
"joe",
|
|
"bob",
|
|
"alice",
|
|
"jenny"
|
|
]
|
|
print(l)
|
|
print(l)
|
|
print(l)
|
|
print(l)
|
|
|
|
# %%
|
|
# 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))
|
|
s = 'Dies ist ein langer String ("triple quoted string").\nEr kann Zeilenumbrüche enthalten.\n\nUnd Leerzeilen.\n\nUnd auch \'einfache\' oder "doppelte" Anführungszeichen.\n\nEr endet mit drei weiteren Anführungszeichen des gleichen Typs.\n'
|
|
|
|
# %%
|
|
# 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])
|
|
hello = hallo[0] + 'e' + hallo[2:]
|
|
print(hello)
|
|
print("hello" * 3)
|
|
|
|
# %%
|
|
# Aber das geht nicht!:
|
|
|
|
hallo[1] = 'e'
|
|
|
|
# Strings sind immutable!
|
|
|
|
# %%
|
|
i = 3.141
|
|
i: int = 42
|
|
|
|
|