0

input()当获得不同的数据类型时,我想打印不同的东西。我有以下脚本:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

f = input("Please enter a number: ")

if f == type(int):
    print("That's good")
elif f == type(str):
    print("That isn't a number.")
else:
    print("BrainOverflow")

此脚本始终返回 else 部分。

4

2 回答 2

2

由于 input() 调用的结果始终是字符串,因此您尝试尝试没有任何意义。您的代码需要一些专用方法来检查字符串是否表示整数。看

Python:检查一个字符串是否代表一个 int,而不使用 Try/Except?

于 2012-08-11T11:07:55.377 回答
1

不建议在 python 中进行类型检查,因此您可以尝试以下操作:

f = input("Please enter a number: ")
try:
    f=int(f)
    print("That's good")
except ValueError:
    print("That isn't a number.")

或者 :

f = input("Please enter a number: ")
if f.isdigit():
    print("That's good")
else:
    print("That isn't a number.")
于 2012-08-11T11:07:42.787 回答