Aufgaben zu Methoden in Python

Aufgabe 1

Erkläre dieses gesamte Programm mit „idiotensicheren“ englischen Kommentaren:

addcomments.py
def sum(a, b):
    return (a + b)
 
a = int(input('Enter 1st number: '))
b = int(input('Enter 2nd number: '))
 
print(f'Sum of {a} and {b} is {sum(a, b)}')

Aufgabe 2

Schreibe eine Methode, die eine Prozentangabe (Parameter 1) und einen Basiswert (Parameter 2) als Benutzer:inneneingabe entgegennimmt und daraus den Prozentanteil berechnet. Die Ausgabe soll in der Methode selbst erfolgen.

Beispielablauf:

Geben Sie den Basiswert ein: 100
Geben Sie den Prozentanteil ein: 30
30% von 100 sind 30.

Aufgabe 3

Modifiziere deine Methode aus Aufgabe 2 so, dass die Ausgabe NICHT innerhalb der Methode, sondern im Hauptprogramm erfolgt (return prozentanteil).

Aufgabe 4

Man kann auch Arrays übergeben (und zurückgeben), z.B. dieses hier.

array_bsp.py
noten = [1,2,3,4,5,6]

Schreibe eine Methode, die ermittelt, ob eine eingebene Zahl im Array „noten“ enthalten ist (z.B. Rückgabewert return True). Achte darauf, dass die Zählung der Elemente eines Arrays bei Null beginnt.

Die Länge eines Arrays (Anzahl der Elemente), kannst du mit len() bestimmen.

array_len.py
noten = [1,2,3,4,5,6]
print(len(noten))

Aufgabe 5

Schreibe eine Methode FillArray(laenge), die ein array_bsp Array der Länge x (Parameter) mit zufälligen Ganzzahlen füllt und dieses Array zurückgibt. Gibt dann die Elemente dieses Arrays wiederum mit einer weiteren Methode PrintArray(feld) aus, die du INNERHALB der Methode FillArray(laenge) aufrufst.

Hinweis zum Anhängen von Elementen an ein Array
array_append.py
feld = []
element0 = 1
feld.append(element0)

Aufgabe 6

Beschreibe, was dieser Code macht.

CallByReference.py
# Call by value oder call by reference?
 
def SetField(field):
    field[0] = 5
 
test = [1,2,3,4,5,6]
 
SetField(test)
 
# Call by reference!
print(test[0])

Es ergibt sich ein Widerspruch zu den Aussage zur Gültigkeit von Variablen. Welcher Widerspruch ist das? Suche im Netz nach „call by value“ und „call by reference“, um dieses Verhalten zu erklären.

Lösungen

Klicke hier für Beispiellösungen