如何在Python中对数据类型进行修饰?

我是蟒蛇的新手。我编写了一个简单的代码来了解输入的数据类型。这是我的代码。我给出了2个输入,这些输入被转换为“字符串”。使用“If”条件匹配输入数据类型。但我的输出很奇怪。我不知道为什么它在这里打印唯一的整数。任何人都可以帮我解决这个问题吗?


我也在这里添加了我的输出


法典:


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, type(b)==int):

print('A and B is Integer')


elif (a==str, b==str):

    print('A and B is String')


elif (a==float, b==float):

    print('\nA and B is Float')


print('\n*Program End*')'

输出:


Enter A Value 

abc

Enter B value 

def



A is =  abc

B is =  def


A and B is Integer


*Program End*


holdtom
浏览 115回答 4
4回答

白衣非少年

(我不确定这是否是你要找的)您可以使用 type() 函数在 python 中打印某些内容的数据类型,如下所示:var&nbsp;=&nbsp;25 print(type(var))输出:<class&nbsp;'int'>

小唯快跑啊

问题出在这条线上: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() != 0Truea=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:&nbsp; &nbsp; print('A and B is Integer')elif type(a)==str and type(b)==str:&nbsp; &nbsp; print('A and B is String')elif type(a)==float and type(b)==float:&nbsp; &nbsp; 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"))您正在转换为输入,这已经是一个 因为给你 ,所以你总是会得到:strstrinputstrA and B is String因为它们都是.因此,您可以使用内置函数来实现此目的:strstrif a.isnumeric() and b.isnumeric():&nbsp; &nbsp; print('A and B is Integer')elif a.isalpha() and b.isalpha():&nbsp; &nbsp; print('A and B is String')elif a.replace('.','',1).isdigit() and b.replace('.','',1).isdigit():&nbsp; &nbsp; print('\nA and B is Float')第一个是&nbsp;a.isnumeric(),然后是&nbsp;a.alpha(),&nbsp;最后一个解决方法是检查它是否是 : 将 替换为 1 并检查它是否仍为&nbsp;isdigit()。float.

HUH函数

type() 方法将返回类类型a=5print(a,"is type of",type(a))b=2.9print(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'>

慕沐林林

integer=100print(integer,"is a",type(integer))string="Python"print(string,"is a",type(string))decimal=5.973 #decimal is also called&nbsp; as float.print(decimal,"is a",type(decimal))输出:100 is a <class 'int'>Python is a <class 'str'>5.973 is a <class 'float'>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python