本文介绍了类型错误:不支持 + 的操作数类型:'float' 和 'str'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么我的代码不起作用,这个错误是什么意思?
Why is my code not working and what does this error mean?
import random
initial_val = str(10)
attr_c1_stre = ("Character 1's Strength: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
attr_c1_skill = ("Character 1's Skill: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
attr_c2_stre = ("Character 2's Strength: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
attr_c2_skill = ("Character 2's Skill: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
print("attr_c1_stre", "\nattr_c1_skil", "\n\nattr_c2_stre","\nattr_c2_skill")
file = open("Attribute.txt", "w")
file.write(attributes)
file.close()
input("\n\nPress enter to exit")
IDLE 是这样说的:
This is what IDLE says:
Traceback (most recent call last):
File "H:\Python task - dice\Task 2\python codefor task 2].py", line 3, in <module>
attr_c1_stre = ("Character 1's Strength: ",str(random.randint(1,12)/random.randint(1,4) + initial_val))
TypeError: unsupported operand type(s) for +: 'float' and 'str'
非常感谢
推荐答案
initial_val
是一个字符串:
initial_val = str(10)
您正在尝试将其添加到浮点值:
You are trying to add it to a floating point value:
random.randint(1,12)/random.randint(1,4) + initial_val
initial_val
不应是字符串;将其保留为整数:
initial_val
should not be a string; leave it as an integer instead:
initial_val = 10
这篇关于类型错误:不支持 + 的操作数类型:'float' 和 'str'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!