2024-05-06 07:24:21 +02:00
# %% [markdown]
# # Grundlegende Datentypen und Operationen
# %% [markdown]
# ## Numerische Typen
# %%
# Ganzzahlen (Integers)
a = 42
b = 23
2024-05-08 17:10:40 +02:00
c = 0x20
d = 0b1110101
#e = calculate()
f = 1_000_000
2024-05-06 07:24:21 +02:00
print ( a )
print ( b )
print ( a + b )
2024-05-08 17:10:40 +02:00
print ( a - b )
2024-05-06 07:24:21 +02:00
# %%
# Fließkommazahlen (Floats)
pi = 3.14159
e = 2.71828
print ( pi )
print ( type ( pi ) )
print ( e )
2024-05-08 17:10:40 +02:00
x = pi * e
print ( x )
print ( type ( x ) )
2024-05-06 07:24:21 +02:00
# %%
# Implizite Umwandlung von numerischen Typen
i = 3
f = 1.5
2024-05-08 17:10:40 +02:00
summe = i + f
2024-05-06 07:24:21 +02:00
print ( i , f , summe )
2024-05-08 17:10:40 +02:00
print ( type ( summe ) )
2024-05-06 07:24:21 +02:00
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 ) )
2024-05-08 17:10:40 +02:00
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 ) )
2024-05-06 07:24:21 +02:00
# %% [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 )
2024-05-08 17:10:40 +02:00
s4 = " Alternativ kann man eine Backslash \' als \' \" Escape \" -Zeichen verwenden "
2024-05-06 07:24:21 +02:00
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 )
2024-05-08 17:10:40 +02:00
l = [
" joe " ,
" bob " ,
" alice " ,
" jenny "
]
print ( l )
print ( l )
print ( l )
print ( l )
2024-05-06 07:24:21 +02:00
# %%
# Längere Strings
2024-05-08 17:10:40 +02:00
long_string = ''' Dies ist ein langer String ( " triple quoted string " ).
2024-05-06 07:24:21 +02:00
Er kann Zeilenumbrüche enthalten .
Und Leerzeilen .
Und auch ' einfache ' oder " doppelte " Anführungszeichen .
Er endet mit drei weiteren Anführungszeichen des gleichen Typs .
2024-05-08 17:10:40 +02:00
'''
2024-05-06 07:24:21 +02:00
print ( long_string )
print ( repr ( long_string ) )
2024-05-08 17:10:40 +02:00
s = ' Dies ist ein langer String ( " triple quoted string " ). \n Er kann Zeilenumbrüche enthalten. \n \n Und Leerzeilen. \n \n Und auch \' einfache \' oder " doppelte " Anführungszeichen. \n \n Er endet mit drei weiteren Anführungszeichen des gleichen Typs. \n '
2024-05-06 07:24:21 +02:00
# %%
# Escape Sequenzen
# Zeilenumbrüche und Tabs
print ( " Erste Zeile \r \n Zweite Zeile " ) # Zeilenumbruch nach Windows-Art
print ( " Eine Zeile \n Noch eine Zeile " ) # Rest der Welt ;-)
print ( " Eins \t Zwei \t Drei " )
print ( " 1 \t 2 \t 3 " )
# Null und Hexadezimal- und Unicode-Sequenzen
print ( repr ( " Dieser String enthält ein \0 Null-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 ] )
2024-05-08 17:10:40 +02:00
hello = hallo [ 0 ] + ' e ' + hallo [ 2 : ]
print ( hello )
print ( " hello " * 3 )
2024-05-06 07:24:21 +02:00
# %%
# Aber das geht nicht!:
hallo [ 1 ] = ' e '
2024-05-08 17:10:40 +02:00
# Strings sind immutable!
# %%
i = 3.141
i : int = 42
2024-05-06 07:24:21 +02:00