如何根据数据(输入)类型打印某些内容?

时间:2012-08-11 10:58:02

标签: python

我想在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部分。

2 个答案:

答案 0 :(得分:2)

没有任何意义,因为input()调用的结果总是如此 一个字符串。您的代码需要一些专用方法来检查字符串是否表示整数。参见

Python: Check if a string represents an int, Without using Try/Except?

答案 1 :(得分: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.")