2015-12-18 23 views
0

问题回溯=无法将“类型”的对象为str隐含

回溯(最近通话最后一个):

File "C:/Python34/my code/types.py", line 2, in print( race , 'is' + type(race)) TypeError: Can't convert 'type' object to str implicitly

打开一个IDLE编辑窗口,并通过分配初始化变量一个字符串,然后显示它的值和数据类型

race = ‘Daytona 500’ 
print(race , ‘is‘ + type(race)) 

接下来,通过分配给它一个整数然后显示它的值初始化变量和数据类型

kilo = 1000 
print(kilo , ‘is‘ + type(kilo)) 

现在,通过分配给它一个十进制数初始化的变量,然后显示它的值和数据类型

temp = 98.6 
print(temp , ‘is‘ + type(temp)) 

通过分配给它一个道理关键字初始化变量然后显示它的值和数据类型

flag = True 
print(flag , ‘is‘ + type(flag)) 

最后,用比较的结果真理取代最后一个变量的值,则再次显示它的值和数据类型

flag = 4 > 8 
print(flag , ‘is‘ + type(flag)) 

保存然后运行该程序发现的各类存储您已经创建

确定的变量中的数据,所以这是我编写什么是错的?:

race = 'Daytona 500' 
print(race , 'is' + type(race)) 

kilo = 1000 
print(kilo , 'is' + type(kilo)) 

temp = 98.6 
print(temp , 'is' + type(temp)) 

flag = True 
print(flag , 'is' + type(flag)) 

flag = 4>8 
print(flag , 'is' + type(flag)) 
+0

请使用在编辑窗口 – MattDMo

回答

0

试试这个:

race = 'Daytona 500' 

    print(race , 'is' + str(type(race))) 

    kilo = 1000 

    print(kilo , 'is' + str(type(kilo))) 

    temp = 98.6 

    print(temp , 'is' + str(type(temp))) 

    flag = True 

    print(flag , 'is' + str(type(flag))) 

    flag = 4>8 

    print(flag , 'is' + str(type(flag))) 

Python期望一个明确的类型转换str适用于非字符串类型,如果试图将其连接到字符串。

+0

的'{}'按键代码(比赛)? –

+0

'race'已经是'str'类型了(你将它定义为一个字符串),而其他类型是'type','int','double'或'bool'类型 –

+0

您不需要“print(str(kilo),'是'+ str(type(kilo)))'中的”str-ize“'kilo','print'会为你做。它在''中尝试字符串连接是'+ type(kilo)'这就是问题所在。当你做''是'+ str(type(kilo))'时,你会得到''isint''(注意缺少一个空格)。 – tdelaney

3

您不需要使用+号而是用逗号替换。因此,代码将被:正确格式化,为什么不是str的需要

race = 'Daytona 500' 

print(race , 'is' , type(race)) 

kilo = 1000 

print(kilo , 'is' , type(kilo)) 

temp = 98.6 

print(temp , 'is' , type(temp)) 

flag = True 

print(flag , 'is' , type(flag)) 

flag = 4>8 

print(flag , 'is' , type(flag)) 
相关问题