Seite 1 von 1

Zahl überprüfen ob gerade oder ungerade mit boolean

Verfasst: Mittwoch 22. Mai 2019, 19:00
von Beowolf19
Hallo,

Ich hab morgen meine Probeklausur in der Programmierung und bis deshalb seit Tagen fleißig am lernen, aber leider fällt mir gerade das Thema "Funktionen" nicht leicht.

Ich habe hier ein Problem bei dieser Aufgabe, ich weiß nicht wie ich es perfekt umsetzen soll:
"Schreiben Sie eine Funktion ist_gerade, die für eine übergebene Ganzzahl bestimmt,
ob diese gerade oder ungerade ist und das Ergebnis in Form eines boolean-Wertes zurückliefert."

Mein Code bisher:

Code: Alles auswählen

def ist_gerade(a): 
    return(bool(a%2==0))
ist_gerade (10)
print (ist_gerade)
Ich verstehe wirklich nicht wie ich diese Aufgabe lösen kann, und natürlich will ich nicht dass mir jemand eine Musterlösung zeigt. Lernen muss ich es ja selber deswegen wäre ich dankbar wenn mir nur jemand erklären kann wie es hier funktioniert :idea:

Re: Zahl überprüfen ob gerade oder ungerade mit boolean

Verfasst: Mittwoch 22. Mai 2019, 19:35
von __deets__
Du musst entweder den Rückgabewert einem Namen zuweisen, und den dann ausgeben. Oder gleich alles in eines packen -

Code: Alles auswählen

ergebnis = funktionsaufruf(argument)
print(ergebnis)

print(funktionsaufruf(argument))

Re: Zahl überprüfen ob gerade oder ungerade mit boolean

Verfasst: Donnerstag 23. Mai 2019, 06:16
von ThomasL
%2 (Modulo 2) liefert 0 oder 1, 0 kann als False und jede andere Zahl als True interpretiert werden
die boolesche Umkehrung erfolgt durch not()
return ist keine Funktion, es benötigt keine Klammern
ist_gerade() ist eine Funktion, zwischen Name und Argument in Klammern gehört kein Leerzeichen, genauso wie bei print()
Was erwartest du als Ausgabe, wenn du das Argument deiner Funktion weglässt?
Ergebnis:

Code: Alles auswählen

def ist_gerade(a): 
    return not(a%2)
print(ist_gerade(10))

Re: Zahl überprüfen ob gerade oder ungerade mit boolean

Verfasst: Donnerstag 23. Mai 2019, 07:01
von Sirius3
@Beowolf19: Vergleiche, wie == liefern schon einen boolschen Wert, das Umwandeln mit bool ist also überflüssig.

Code: Alles auswählen

def ist_gerade(a): 
    return a%2 == 0

print(ist_gerade(10))

@ThomasL: `not` ist keine Funktion, es benötigt keine Klammern, sollte aber auf jeden Fall ein Leerzeichen zwischen not und Klammer haben.

Re: Zahl überprüfen ob gerade oder ungerade mit boolean

Verfasst: Donnerstag 23. Mai 2019, 11:42
von ThomasL
@self :shock: :oops: den Lauten hier machen und selber keine Ahnung... au man voll rein getreten :lol:
@Sirius3 Danke dafür das du mich ungestümen Noob immer wieder auf den Boden der Realität zurück holst.
Wieder etwas gelernt und daran erinnert worden, wenn man etwas nicht genau weiß, besser nicht zu laut schreien. :roll: