4 回答
TA贡献1155条经验 获得超0个赞
(我不确定这是否是你要找的)您可以使用 type() 函数在 python 中打印某些内容的数据类型,如下所示:
var = 25 print(type(var))
输出:
<class 'int'>
TA贡献1863条经验 获得超2个赞
问题出在这条线上:
if (type(a)==int, type(b)==int)
^这适用于您拥有的所有条件。if
这不是在语句上使用多个条件的方法。实际上,这只是一个.所以你是说.所以。根据文档iftupleif (0,0)
默认情况下,除非对象的类定义了返回 False 的 bool() 方法或返回零的 len() 方法(当使用该对象调用时),否则将对象视为 true。1 以下是大多数被认为是假的内置对象:
- constants defined to be false: None and False.
- zero of any numeric type: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
- empty sequences and collections: '', (), [], {}, set(), range(0)
在本例中,您使用的是 with,因此在检查其真值时,它将始终返回。因此,检查多个真值条件的正确方法是使用布尔运算符:tuplelen() != 0True
a=str(input("Enter A Value \n"))
b=str(input("Enter B value \n"))
print('\n')
print('A is = ',a)
print('B is = ',b)
if type(a)==int and type(b)==int:
print('A and B is Integer')
elif type(a)==str and type(b)==str:
print('A and B is String')
elif type(a)==float and type(b)==float:
print('\nA and B is Float')
print('\n*Program End*')
^注意 我添加到其他条件,因为它们不存在。type()
现在。这里还有另一个问题:
a=str(input("Enter A Value \n"))
b=str(input("Enter B value \n"))
您正在转换为输入,这已经是一个 因为给你 ,所以你总是会得到:strstrinputstr
A and B is String
因为它们都是.因此,您可以使用内置函数来实现此目的:strstr
if a.isnumeric() and b.isnumeric():
print('A and B is Integer')
elif a.isalpha() and b.isalpha():
print('A and B is String')
elif a.replace('.','',1).isdigit() and b.replace('.','',1).isdigit():
print('\nA and B is Float')
第一个是 a.isnumeric(),
然后是 a.alpha(),
最后一个解决方法是检查它是否是 : 将 替换为 1 并检查它是否仍为 isdigit()
。float
.
TA贡献1836条经验 获得超4个赞
type() 方法将返回类类型
a=5
print(a,"is type of",type(a))
b=2.9
print(b,"is type of",type(b))
c='Hello'
print(c,"is type of",type(c))
输出:
5 is type of <class 'int'>
2.9 is type of <class 'float'>
Hello is type of <class 'str'>
TA贡献2016条经验 获得超9个赞
integer=100
print(integer,"is a",type(integer))
string="Python"
print(string,"is a",type(string))
decimal=5.973 #decimal is also called as float.
print(decimal,"is a",type(decimal))
输出:
100 is a <class 'int'>
Python is a <class 'str'>
5.973 is a <class 'float'>
添加回答
举报