<jupyter_start><jupyter_text>Python - VariablenHeute lernen wir Python und das Jupyter Notebook kennen.In diesem Notebook dreht es sich um Variablen in Python.Wir werden lernen, mit Text umzugehen und mit Zahlen zu rechnen.Zu jedem Unterthema gibt es eine Einleitung und Beispiele, die die Theorie näher erklären.Na dann, auf gehts! Einen Wert zuweisenIn einer Variable lassen sich Daten speichern.Wir können einzelne Buchstaben, Zahlen, Sätze aber auch komplexere Strukturen hier speichern.Eine Variable braucht einen Namen und einen Wert.Name           |Zuweisung|Wert   :--------------|:-------:|------------:meine_variable|=        |"Hallo Welt" DatentypenWie bereits erwähnt lassen sich in einer Variable alle möglichen Daten speichern.Daten besitzen immer einen bestimmten Typ.Name   |Typ  |Beschreibung      |Beispiel:------|:----|:-----------------|:----------- Integer|int  |Eine ganze Zahl   |`x = 1`Float  |float|Eine Kommazahl    |`x = 1.0`String |str  |Mehrere Buchstaben|`x = "eins"`Boolean|bool |Wahrheitswert     |`x = True`<jupyter_code># Übungsfeld für das Erstellen von Variablen


# name, wert, datentyp

meine_variable = 1 # wert: 1, typ: int, name: meine_varaible

zweite_variable = 3.5 # name_ zweite_vARAIBLE., wert: 3.5, typ: float

test = "hallo" # name: test, wert: "hallo", typ: string

zweiter_test = "welt" # name: zweiter_test, wert: welt, typ: string

drei = False # name: drei, wert: False, typ: bool

falsch = "False" # name: falsch, wert: False, typ: string

welt = "True" # name: welt, wert: True, typ. string

wahr = "Falsch" # name: wahr, typ: string, wert: Falsch

wahr_zwei = False # name: wahr_zwei, wert: False, typ: bool


# in variable umwandeln

# name: hallo, wert: welt, typ: string
hallo = "welt"

# name: test, wert: False, typ:string
test = "False"

# name: zwei, wert: 2, typ: int
zwei = 2 

# name: zahl, wert: 3.5, typ: float
zahl = 3.5

# name: wahr, wert: False, bool
wahr = False

# name: falsch, wert: False, typ: string
falsch = "False"

# name: test_drei: True, typ: bool
test_drei = True<jupyter_output><empty_output><jupyter_text>Eine Variable auf ihren Datentyp überprüfen```pythontest = "<NAME>"print(type(test))```<jupyter_code># Übungsfeld für das Überprüfen des Datentyps einer Variable
test = "<NAME>"
print(type(test))

zahl = 4.4
print(type(zahl))<jupyter_output><class 'str'>
<class 'float'><jupyter_text>Warum gibt es Datentypen?Datentypen definieren nicht nur was für Werte in einer Variable gespeichert wird, sondern auch welche Operationen auf eine Variable angewandt werden können. Operationen der verschiedenen Datentypen Rechnen mit IntegernMit "int" und "float" können wir ganz normal rechnen.```pythonprint(2 + 3)   addierenprint(5 - 4)   subtrahierenprint(2 * 10)  multiplizierenprint(6 / 3)   dividieren```<jupyter_code># Mit Strings rechnen

# 4+5
print(4+5)

# 10*2
print(10*2)

# 9/3
print(9/3) # / -> ergebnis hat typ float
print(type(9/3))

# 2+(4*10)
print(2+(4*10))

# (2+4)*10
ergebnis = (2+4)*10
toChar()
print("(2+4)*10 = " + ergebnis)

pow(2,4) # 2 hoch 4, basis: 2, exponent: 4
print(pow(2,4)) 

zahl1 = 10
zahl2 = 20
zahl3 = 5

# zahl1 +zahl2 - zahl3

high = 3
print(type(high - 3))<jupyter_output>9
20
3.0
<class 'float'>
42<jupyter_text>Manipulation von StringsMehrere Variablen vom Typ "String" lassen sich miteinander verbinden.```pythonprint("Hallo" + "Welt")  verbindet beide Wörterprint("Hallo","Welt")    verbindet beide Wörter und fügt ein Leerzeichen zwischen ihnen ein```<jupyter_code># Beispiel

vorname = "<NAME>"
nachname = "trainer"

print(vorname + nachname)

wort1 = "Hallo"
wort2 = "Welt"
wort3 = "!"
komma = ","
wort4 = ","
wort5 = "Welt, "

# erbnis: "<NAME>, !"
# tipp: zuerst auf erbnis "<NAME> !"

# lösung 1
print("Lösung 1:",wort1, wort2, komma, wort3)

# lösung 2
print("Lösung 2", wort1, wort2, wort4, wort3)

#lösung 3
print("Lösung 3:", wort1, wort5+wort3)

#lösung 4
print("Lösung 4:", wort1, wort2+ ",",wort3)

# Lösung 5
print(wort1, wort2 + wort4, wort3)<jupyter_output>Silicon Valleytrainer
Hallo Welt , !
Hallo Welt , !
Lösung 3: Hallo Welt, !
Lösung 4: Hallo Welt, !<jupyter_text>Der String als ArrayIn Python sind Strings programmiert als Arrays. (Noch Fußnote hinzufügen, wird in einem späteren Kurs durchgenommen)Es lassen sich deswegen alle Operationen anwenden, die Arrays definieren.Wir können auf Buchstaben des Strings zugreifen, die an einem bestimmten Index stehen.Dabei beginnt der Index bei 0.In der Tabelle ist eine Veranschaulichung des Zuordnung eines Index zu einem Buchstaben eines Strings.Index    |0|1|2|3|4:--------|-|-|-|-|-Buchstabe|H|a|l|l|oFür den Zugriff auf einen Buchstaben des Strings `my_string = "Hallo"`, welcher an Index i steht, ist diese Schreibweise in python vorgesehen: `my_string[i]`.Für den Zugriff auf mehrere hintereinanderhängende Buchstaben, z.B. der zweite bis vierte Buchstabe, ist folgende Schreibweise in Python vorgesehen: `my_string[1:4]`Es gibt zahlreiche Operationen, die sich auf Arrays anwenden lassen. Die zwei gezeigten Operationen sind ein Einstieg in den weiterführenden Kurs über Arrays.<jupyter_code># Strings als Arrays<jupyter_output><empty_output><jupyter_text>Mögliche FehlerquellenEs ist nicht möglich Operationen auf zwei Variablen unterschiedlicher Datentypen anzuwenden.```python Dieser Code würde einen Error auslösenprint("1" + 2)  wir können nicht einen String auf einen Integer addieren```<jupyter_code># Fehlerquellen und Fehlertypen ausprobieren<jupyter_output><empty_output><jupyter_text>CastingWenn wir dennoch `"1" + 2` rechnen wollen, ist es möglich eine Variable von einem Datentyp in einen anderen Datentyp umwandeln. Z.b. können wir einen String in einen Integer umwandeln. In Python wird dafür diese Scheibweise genutzt: `int("1")`<jupyter_code># Casting<jupyter_output><empty_output><jupyter_text>FAQ's Input/OutputMit der Methode `print()` können wir den Inhalt der Klammer auf der Konsole ausgeben.Mit der Methode `input()` können wir von der Konsole lesen.<jupyter_code># print() und input() ausprobieren<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12068110431476277, 'fraction_numerical': 0.022483055050421558, 'mean_word_length': 5.007944389275075, 'pattern_counts': {'":': 0, '<': 38, '<?xml version=': 0, '>': 39, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '8', 'dir': 'jupyter-structured-clean-dedup', 'id': '119162', 'license': 'MIT', 'n_tokens_mistral': 2352, 'n_tokens_neox': 2316, 'n_words': 683, 'path': 'IPYNB/00--Variablen/Python_Variablen_11-04-2021.ipynb', 'repo_name': 'mskr/SiVaRepo', 'size': '6073'}