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