Programmiersprache Python Hilfe?

...komplette Frage anzeigen

2 Antworten

Kleiner Nachtrag, du könntest z.b. mit 

zahl = input("zahl: ")
if isinstance(zahl, float):

prüfen ob die eingegebene Zahl ein Float ist 


Antwort bewerten Vielen Dank für Deine Bewertung
TattiMatti 19.07.2016, 16:08

Danke! Aber wie kann ich dann mit dem Fehler versuchen und den abgangen?

0
xXFreddy 22.07.2016, 17:21
@TattiMatti

Naja, dann solltest du evtl nicht isinstance benutzen, und in diesem Fall wäre an deinem Code dann nichts weiter auszusetzen, denn wenn eine Buchstabe oder so eingegeben würde, greift dein try except, und da niemand explizit Integer verbietet und jeder Integer in ein Float konvertiert werden kann ist das egal...

0
TattiMatti 19.07.2016, 16:12

Ach ja, was ist isinstance? Gibt es andere Moeglichkeut zu prüfen?

0
xXFreddy 22.07.2016, 17:27
@TattiMatti

mit isinstance kannst du prüfen ob ein Objekt das du rein gibst (in meinem Fall "zahl") eine Instanz einer Klasse ist, also z.b selber ein objekt der klasse, oder auch einer unterklasse, dieser teil ist wichtig! Also du könntest type benutzen:

if type(zahl) == float
0
xXFreddy 22.07.2016, 17:29
@TattiMatti

oder du benutzt halt einfach try except, aber der Vorteil an isinstance ist das auch supclasses einbezogen sind,

Stell dir vor du hast zwei klassen:

class Fahrzeug:
    pass

# und Auto, Auto erbt von Fahrzeug

class Auto(Fahrzeug):
    pass




isinstance(Fahrzeug(), Fahrzeug)  # returns True
type(Fahrzeug()) == Fahrzeug # returns True
isinstance(Auto(), Fahrzeug) # returns True
type(Auto()) == Fahrzeug # returns False
0

Hey, 

laut Aufgabenstellung ist es egal ob du Integer eingeben lässt. Ein Int konvertiert in einen Float ist ja nur von 1 auf 1.0 

Jeder Int kann auch ein Float sein, aber nicht anders herum (außer du rundest dann bzw. wenn es konvertiert wird, wird gerundet ;) )


MfG 

Freddy

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?