if not isinstance(): command Funktioniert nicht in Python 3?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet
Ich das wenn die eingabe etwas anderes als int() ist ein error ausgespuckt wird und wenn es ein int() ist, danneben bei else weitermacht, allerdings funktioniert es nicht wer eine idee?

input() gibt dir immer einen String zurück und wandelt nicht automatisch in andere Datentypen (wie Zahlen) um. Das musst du schon selbst machen.

1trying2help 
Fragesteller
 08.11.2023, 13:15

gibt es eine möglichkeit das ich nur eingegebene zahlen aus dem input in int umwandel?

0
jo135  08.11.2023, 13:16
@1trying2help

Der beste Weg ist, es zu probieren und ggf. einen ValueError abzufangen.

try:
  zahl = int(eingabe)
except ValueError:
  print("Das ist keine Zahl")

Von schlauen Tricks mit regulären Ausdrücken oder sowas wie isdigit() rate ich hier eher ab. Das geht meist in die Hose, weil man irgendwas nicht beachtet (etwa negative Zahlen oder andere gültige Schreibweisen).

2
Theodor951Ernst  19.02.2024, 15:15
@1trying2help

#1. möglichkeit:

Antwort=input('Zahl:')
try :
  Antwort=int(Antwort)
except :
  print('fehler!')

#2. Möglichkeit:

Antwort = input('Zahl:')
if Antwort.isdigit() :
  Antwort = int(Antwort)
else :
  print('Error!')
0
1trying2help 
Fragesteller
 08.11.2023, 13:35

danke ich habe es jetzt mit if a.isalpha() gelöst da es schaut ob buchstaben im input enthalten sind

0
jo135  08.11.2023, 13:37
@1trying2help
danke ich habe es jetzt mit if a.isalpha() gelöst

Womit du viele andere Zeichen wie !"()@/_:, usw. erlaubst.

0
1trying2help 
Fragesteller
 08.11.2023, 13:43
@jo135

stimmt ich sollte die verneinung if not a.isnum() benutzen danke für den hinweis

0
jo135  08.11.2023, 13:46
@1trying2help
stimmt ich sollte die verneinung if not a.isnum() benutzen danke für den hinweis

Sicher?

>>> "⓪ⅲ❻".isnumeric()
True

Ich weiß schon, warum ich meine Antwort da oben so geschrieben habe, wie ich sie geschrieben habe...

1
1trying2help 
Fragesteller
 09.11.2023, 08:16
@jo135

dann hoffen wir mal das mein Chemie lehrer nicht zu doof ist die inputs zu beachten XD

0