TypeError:不支持+的操作数类型:“float”和“str”

2024-04-26 00:16:09 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么我的代码不工作,这个错误意味着什么?

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所说的:

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'

非常感谢


Tags: randomvalstrengthskillinitialfileattrrandint
1条回答
网友
1楼 · 发布于 2024-04-26 00:16:09

initial_val是一个字符串:

initial_val = str(10)

您正在尝试将其添加到浮点值:

random.randint(1,12)/random.randint(1,4) + initial_val

initial_val不应是字符串;请将其保留为整数:

initial_val = 10

相关问题 更多 >