程式目的:判斷輸入值為整數 或 浮點數 或 字串
自己寫了3種解法,但是第3種解法中,使用chatGBT 檢查,一直提醒 "-5"代入 會是判斷為float的錯誤,但是我自己執行後,結果一直判斷為int 正確
(環境 IDE Spyder+ Python 3.12.4)
請各位指教
#Johnny解法1
def johnny(value):
try:
x=float(value)
if x.is_integer():
return "int"
else:
return "float"
except ValueError:
return "str"
value=input("Please input :")
print(johnny(value))
#Johnny解法2
def johnnysuper(value):
try:
int(value)
return "int"
except ValueError:
pass
try:
float(value)
return "float"
except ValueError:
return "str"
value=input("Please input :")
print(johnnysuper(value))
#Johnny解法3
def johnnysuper(value):
try:
value.isdigit()==True
return "int"
except ValueError:
pass
try:
float(value)
return "float"
except ValueError:
return "str"
value=input("Please input :")
print(johnnysuper(value))