Einfuehrung#
Hallo Kathi. Das hier ist nur depperter Text. Zum Beispiel kann man hier eine Liste machen:
Eins
Zwei
[2]:
print("Hallo Kathi")
Hallo Kathi
[4]:
text = "Hallo Kathi"
print(text)
Hallo Kathi
[5]:
num = 666
print(num)
666
[7]:
print(text, num)
Hallo Kathi 666
[10]:
num1 = 1
num2 = 2
print(num1 + num2)
3
[12]:
summe = num1 + num2
print(summe)
3
Eingabe mit input()#
[14]:
eingabe = input('hallo kathi, gib hier bitte einen text ein')
hallo kathi, gib hier bitte einen text ein einen text
[15]:
print(eingabe)
einen text
Die input() Funktion liefert immer Text!#
[16]:
x = input('hier jetzt die x Koordinate: ')
hier jetzt die x Koordinate: 42
[18]:
print(x)
42
[19]:
print('Der User hat', x, 'eingegeben')
Der User hat 42 eingegeben
[21]:
y = input('hier noch eine zahl, bitte liebe kathi: ')
hier noch eine zahl, bitte liebe kathi: 666
[22]:
print(y)
666
x und y sind nicht das was du erwartest. input() liefert immer Text, egal ob der Text so aussieht, als ob es eine Zahl waere. Deswegen ist “+” zwischen x und y dasjenige “+”, das TExte zusammenhaengt.
[25]:
summe = x + y
print(summe)
42666
[28]:
summe = int(x) + int(y)
print(summe)
708
[32]:
x = input('eine zahl: ')
x_zahl = int(x)
print('typ von x:', type(x))
print('typ von x_zahl:', type(x_zahl))
eine zahl: 42
typ von x: <class 'str'>
typ von x_zahl: <class 'int'>
[33]:
x = int(input('eine zahl: '))
print(x, type(x))
eine zahl: 42
42 <class 'int'>
Typen#
int: Ganze Zahl#
[34]:
x = 42 # das ist eine ganze zahl
y = 666 # das auch
[35]:
type(x)
[35]:
int
[36]:
summe = x+y
print(summe)
708
Operatoren#
[38]:
x+y
[38]:
708
[39]:
x-y
[39]:
-624
[40]:
10%3
[40]:
1
Strings (Text)#
[42]:
x = '42' # das ist ein string
y = '666'
[43]:
summe = x + y
print(summe)
42666
Laenge eines Strings
[50]:
text = "Kathi"
len(text)
[50]:
5
“Methoden” (Was kann so ein String)
[44]:
text = 'kathi and a thistle with many thorns'
[45]:
text.count('th')
[45]:
4
[47]:
text.find('kathi')
[47]:
0
[48]:
text.find('kathi', 5)
[48]:
-1
float (Gleitkommazahlen)#
[52]:
x = 1.5
y = 2.5
summe = x + y
summe
[52]:
4.0
bool (Wahr oder falsch)#
[54]:
'x' == 'u'
[54]:
False
[58]:
1 == 1
[58]:
True
True und False wirst du in deinen Programmen wahrscheinlich nie direkt hinschreiben:
[60]:
zahl = 43
if zahl % 2 == 0:
print('gerade')
else:
print('ungerade')
ungerade
Konvertieren zwischen Datentypen#
[61]:
text = '7'
zahl = int(text)
zahl
[61]:
7
[62]:
int('sieben')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[62], line 1
----> 1 int('sieben')
ValueError: invalid literal for int() with base 10: 'sieben'
[63]:
zahl = 7
text = str(zahl)
text
[63]:
'7'
[65]:
gleitzahl = 1.5
zahl = int(gleitzahl) # schmeisst alles hinter dem komma weg
zahl
[65]:
1
[67]:
zahl = 2
bool(zahl)
[67]:
True
[69]:
bool(1)
[69]:
True
[70]:
bool(100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
[70]:
True
[71]:
bool(0)
[71]:
False
if, elif, else#
In Lettland enden die Vornamen von Maennern immer auf “s”, und die der Frauen auf “a”. Das heist, der Algorithmus, um basierend auf einem Namen das Geschlecht herauszufinden, ist ganz leicht.
[72]:
vorname = "Katharina"
[79]:
if vorname.endswith("a"): # endswith ist auch was, was uns der string bietet (auch beginswith)
print(vorname, 'ist eine Frau')
else:
print(vorname, 'ist keine Frau')
Joerg ist keine Frau
[76]:
vorname = "Joerg"
[80]:
if vorname.endswith("a"): # endswith ist auch was, was uns der string bietet (auch beginswith)
print(vorname, 'ist eine Frau')
else:
print(vorname, 'ist keine Frau')
Joerg ist keine Frau
Und elif?
[81]:
vorname = "Katharina"
[82]:
if vorname.endswith("a"):
print(vorname, 'ist eine Frau')
elif vorname.endswith("s"):
print(vorname, 'ist ein Mann')
else:
print(vorname, 'ist weder Mann noch Frau')
Katharina ist eine Frau
Und nun das ganze parametrisiert:
[84]:
vorname = input('Gib hier deinen Vornamen ein: ')
if vorname.endswith("a"):
print(vorname, 'ist eine Frau')
elif vorname.endswith("s"):
print(vorname, 'ist ein Mann')
else:
print(vorname, 'ist weder Mann noch Frau')
Gib hier deinen Vornamen ein: x
x ist weder Mann noch Frau