我想在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部分。
答案 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.")