3 – Lösungen

Einführung in Python und PsychoPy

Autor

Clemens Brunner

Veröffentlicht

16. Oktober 2025

Übung 1

width = 17
height = 12
delimiter = "."
  • Der Ausdruck width / 2 hat vermutlich den Wert 8.5 (Typ float). Diese Vermutung kann bestätigt werden.

    width / 2
    8.5
    type(width / 2)
    float
  • Der Ausdruck height / 3 hat vermutlich den Wert 4 (Typ int). Diese Vermutung ist nicht korrekt – der tatsächliche Wert ist 4.0 (Typ float). Eine Division ergibt also immer Dezimalzahlen, auch wenn beide Operanden Ganzzahlen sind.

    height / 3
    4.0
    type(height / 3)
    float
  • Der Ausdruck height * 3 hat vermutlich den Wert 36 (Typ int). Diese Vermutung kann bestätigt werden.

    height * 3
    36
    type(height * 3)
    int
  • Der Ausdruck height * 3.0 hat vermutlich den Wert 36.0 (Typ float). Diese Vermutung ist korrekt, sobald ein Operand ein float ist, ist auch das Ergebnis einer Multiplikation ein float.

    height * 3.0
    36.0
    type(height * 3.0)
    float
  • Der Ausdruck delimiter * 5 ergibt vermutlich einen Fehler (einen Punkt kann man nicht mal 5 rechnen). Diese Vermutung ist allerdings falsch, denn das Ergebnis lautet "....." (Typ str) – das Zeichen delimiter (ein Punkt) wird also verfünffacht.

    delimiter * 5
    '.....'
    type(delimiter * 5)
    str
  • Der Ausdruck 2 * (width + height) + 1.5 hat vermutlich den Wert 59.5 (Typ float). Diese Vermutung ist korrekt.

    2 * (width + height) + 1.5
    59.5
    type(2 * (width + height) + 1.5)
    float
  • Der Ausdruck 12 + 3 hat vermutlich den Wert 15 (Typ int).

    12 + 3
    15
    type(12 + 3)
    int
  • Der Ausdruck "12 + 3" ist ein String und hat daher den Wert "12 + 3" (Typ str). Daher kann damit auch nichts ausgerechnet werden, da es sich nur um eine Sequenz an Zeichen handelt.

    "12 + 3"
    '12 + 3'
    type("12 + 3")
    str

Übung 2

Eine Anweisung ist eine Einheit von Code, welcher vom Python-Interpreter ausgeführt werden kann. Es gibt Anweisungen, die einen Wert haben und Anweisungen, die keinen Wert haben. Erstere (also Anweisungen mit Wert) nennt man auch Ausdrücke. Beispiele:

12 + 5  # Ausdruck (Anweisung mit Wert)
17
type(5)  # Ausdruck (Anweisung mit Wert)
int
x = 12 + 5  # Anweisung (Zuweisung)
print(x)  # Anweisung
17

Im interaktiven Modus gibt Python die Werte von Ausdrücken automatisch aus. Im Script-Modus ist dies jedoch nicht der Fall, hier müssen Werte explizit mit der print-Funktion ausgegeben werden.

Übung 3

Schlüsselwörter sind vordefinierte Namen, die Python zum Verstehen eines Python-Scripts benötigt. Eine Liste aller Schlüsselwörter bekommt man mit:

import keyword
print(keyword.kwlist)

Eingebaute Funktionen sind mit Python mitgelieferte Funktionen, welche ohne jeglichen Import sofort verfügbar sind. Eine Liste bekommt man mit:

dir(__builtins__)

Bei der Namensgebung ist zu beachten, dass Schlüsselwörter nicht als Namen verwendet werden können (dies führt zu einer Fehlermeldung). Eingebaute Funktionen sollten prinzipiell ebenfalls nicht für eigene Namen verwendet werden (jedoch wäre dies technisch möglich).

Gute Namen sollten selbsterklärend sein und auf ihren Verwendungszweck hinweisen. Sie sollten so kurz wie möglich, aber dennoch so lang wie notwendig sein. Prinzipiell sollte man englische Begriffe als Namen verwenden. Ebenso hat es sich eingebürgert, dass Namen nur aus Kleinbuchstaben bestehen sollten, gegebenenfalls kann man einen Unterstrich _ zur Trennung von Wörtern verwenden.

Beispiel für einen Namen, welcher die Anzahl an Versuchspersonen beinhaltet:

n_subjects = 14

Übung 4

import math

r = 5
area = 4 * r**2 * math.pi
volume = 4/3 * math.pi * r**3
print(area, volume)
314.1592653589793 523.5987755982989

Übung 5

type(True)
bool
x = "True"
type(x)
str
type(math)
module