-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpython-guide-german.py
More file actions
210 lines (155 loc) · 7.69 KB
/
python-guide-german.py
File metadata and controls
210 lines (155 loc) · 7.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# Lernhilfe Python - Alex
# - Eine Zeile nach der anderen wird ausgeführt.
# - Kommentare werden mit einem # am Anfang der Zeile geschrieben. (Werden von python ignoriert)
# ---------------- Datentypen
# Es gibt verschiedene Datentypen in Python
# Integer (Ganzzahl)
5
# String (Text)
"Hello World!"
"123" # Das ist auch ein String, weil es in "" steht, auch wenn es nur Zahlen sind
# Mit Strings kann man nicht rechnen.
# Float (Kommazahl)
3.14
# Boolean (True oder False)
True
False
# ---------------- Variablen umwandeln
# Beispiele:
int(x) # Umwandeln in Integer (Ganzzahl)
str(x) # Umwandeln in String (Text)
float(x) # Umwandeln in Float (Kommazahl)
alter = "17" # String (Text)
alter_zahl = int(alter) # Umwandeln in Integer (Ganzzahl)
# ---------------- variabeln zuweisen
# Man kann variabeln erstellen und ihnen Werte zuweisen. Man kann sie nennen wie man möchte, aber es ist gut, wenn der Name mit ihrem Inhalt zu tun hat.
a = 5 # Integer (Ganzzahl)
b = 10
name = "Alex" # String (Text), muss "" oder '' haben
# Rechnen mit Variablen:
# Operatoren:
# + Addition
# - Subtraktion
# * Multiplikation
# / Division
# % Modulo (Rest bei Division)
c = a + b # c wird 15 sein, weil 5 + 10 = 15
c = a * b # c wird 50 sein, weil 5 * 10 = 50
a = a + 1 # a wird um 1 erhöht, also a = 6
# Modulo operand gibt den Rest einer Division zurück:
10 % 2 # Gibt 0 zurück. Wenn man 10 durch 2 teilt, ist der Rest *0*.
23 % 2 # Gibt 1 zurück. 23 / 2 ergibt 11 mit Rest *1*.
# ---------------- Konsole aus-/eingabe
print("Hallo Welt!") # Gibt "Hallo Welt!" in der Konsole aus
# User input:
print("Wie heisst du?: ")
name = input() # Der User muss in die Konsole etwas eingeben, was dann in der Variable 'name' gespeichert wird
# Abkürzung:
name = input("Wie heisst du?: ")
# ---------------- if-else # Bedingungen
# Es schaut zuerst die Bedingung von 'if' an, wenn die Bedingung wahr ist, wird der Codeblock darunter ausgeführt, wenn nicht, wird die nächste 'elif' Bedingung geprüft, und wenn keine der Bedingungen wahr ist, wird der 'else' Block ausgeführt.
# Man muss immer tab drücken, um einzurücken
if a < b: # Wenn a kleiner als b ist
print("a ist kleiner als b")
elif a == b: # Wenn a gleich b ist # WICHTIG: '==' ist der Vergleichsoperator, '=' ist der Zuweisungsoperator, anders als in Mathe!
print("a ist gleich b")
else: # Wenn keine der vorherigen Bedingungen zutrifft
print("a ist größer als b")
# ---------------- Schleifen
# Es gibt 2 Arten von Schleifen: 'for' und 'while'
# 'for' Schleife: wird für eine bestimmte Anzahl von Iterationen verwendet:
fruits = ["Apfel", "Banane", "Kirsche"]
for fruit in fruits: # 'fruit' ist die temporäre Variable, die für jedes Element im Array 'fruits' verwendet wird
print(fruit) # gibt jeden Wert des Arrays aus (Apfel, Banane, Kirsche)
# 'while' Schleife: wird verwendet, solange eine Bedingung wahr ist:
a = 0
b = 5
while a < b: # Solange a kleiner als b ist
print("a ist kleiner als b")
a = a + 1 # Erhöht a um 1, damit die Schleife irgendwann endet, sonst wäre es eine Endlosschleife
# Um eine Endlosschleife zu machen, kann man 'while True:' schreiben
# ---------------- Input von dem User bekommen
print("Bitte geben Sie Ihren Namen ein:")
name = input()
# MACH DAS GLEICHE WIE:
name = input("Bitte geben Sie Ihren Namen ein:")
# Wichtig: input() gibt immer einen String zurück! Wenn du eine Zahl (intiger) davon kriegen willst, machst du z.B. zahl = int(input("Gib eine Zahl ein: "))
# ---------------- String interpolation (variabeln in strings(text) einfügen):
# Es gibt 2 varianten
print("Hallo " + name + ", willkommen!") # das '+' verbindet Strings
print(f"Hallo {name}, willkommen!") # das 'f' am Anfang muss man hinzufügen, um variabeln mit {} einfügen zu können
# Wenn die variable eine Zahl ist, muss man sie zuerst in eine 'String' konvertieren:
age = 17
print("Ich bin " + str(age) + " Jahre alt.")
print(f"Ich bin {age} Jahre alt.") # das 'f' am Anfang muss man hinzufügen, um variabeln mit {} einfügen zu können
# ---------------- Arrays
# Anstatt nur eine Variable mit einem Wert, kann man einen Array mit einer liste von Werten definieren:
fruits = ["Apfel", "Banane", "Kirsche"]
print(fruits[0]) # gibt den ersten Wert des Arrays aus (Man zählt ab 0) (Apfel)
print(fruits[1]) # gibt den zweiten Wert des Arrays aus (Banane)
new_fruit = "Orange"
fruits.append(new_fruit) # Fügt 'Orange' zum Array 'fruits' hinzu
# ["Apfel", "Banane", "Kirsche", "Orange"]
# String in einen Array (List) umwandeln:
text = "Apfel"
text_array = list(text)
# text_array -> ['A', 'p', 'f', 'e', 'l']
# um etwas zum beispiel 10 mal zu machen:
# 'range(10)' würde einen Array mit den Werten 0 bis 9 erstellen ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]).
for i in range(10):
print(i) # Gibt die Zahlen von 0 bis 9 aus (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# Einträge in einem Array zählen:
fruits = ["Apfel", "Banane", "Kirsche"]
anzahl_fruits = len(fruits) # Gibt die Anzahl der Einträge im Array 'fruits' zurück (3 in diesem Fall)
# ---------------- module
# Module kann man importieren, um zusätzliche Funktionen zu nutzen
# Beispiele:
import random
zufall_zahl = random.randint(1, 10) # Gibt eine zufällige Zahl zwischen 1 und 10 zurück
fruits = ["Apfel", "Banane", "Kirsche"]
zufall_frucht = random.choice(fruits) # Gibt eine zufällige Frucht aus dem Array 'fruits' zurück
print(zufall_frucht) # "Kirsche" oder "Banane" oder "Apfel"
# ---------------- Funktionen
# Man kann eigene Funktionen erstellen, um wiederholende Logik zu kapseln und den Code übersichtlicher zu machen.
def begruessung(name): # Funktion mit einem Parameter 'name'
print(f"Hallo {name}, willkommen!") # Gibt eine Begrüßung aus
name = input("Wie heisst du?: ")
begruessung(name) # Ruft die Funktion 'begruessung' mit dem Parameter 'name' auf
def summe(zahl_eins, zahl_zwei): # Funktion mit 2 Parametern 'zahl_eins' und 'zahl_zwei'
return zahl_eins + zahl_zwei # Gibt die Summe von zahl_eins und zahl_zwei zurück
a = 5
b = 10
resultat = summe(a, b) # a füllt den Parameter 'zahl_eins' und b füllt den Parameter 'zahl_zwei'
print(f"Die Summe von {a} und {b} ist {resultat}.") # Gibt die Summe von a und b aus
# ---------------- Hangman Beispiel mit Erklärung
#####################
import random
words = ["python", "java", "javascript", "html", "css"] # Liste von Wörtern (Array)
word = random.choice(words) # Züfälliges Wort auswählen
guessed_letters = [] # Liste für bereits geratene Buchstaben
anzeige = "" # String für die Anzeige initialisieren
print(f"Das Wort hat {len(word)} Buchstaben.") # len() gibt die Länge an
for i in range(len(word)): # "for i in range(x)" macht, dass die for Schleife so viel mal iteriert wie x
anzeige += "_ "
print(anzeige)
guess = input("Bitte geben Sie einen Buchstaben ein: ")
if len(guess) != 1:
print("Bitte geben Sie nur einen Buchstaben ein.")
continue
guessed_letters.append(guess) # Füge geratenen Buchstaben zur Liste hinzu
if guess in word: # schaut ob der Buchstabe im Wort ist
continue
if guess in word: # schaut ob der Buchstabe im Wort ist
print(f"Der Buchstabe {guess} ist im Wort.")
anzeige = ""
for letter in word:
if letter in guessed_letters:
anzeige += letter + " "
else:
anzeige += "_ "
print(anzeige)
else:
print(f"Der Buchstabe {guess} ist nicht im Wort.")
#####################
# Meine Beispiellösungen zu manchen der schwierigen Aufgaben:
# https://github.com/Alex7k/simple-python-scripts/tree/main/python