gpt4 book ai didi

Python 3 : TypeError: can't multiply sequence by non-int of type 'float'

转载 作者:行者123 更新时间:2023-12-01 01:31:16 31 4
gpt4 key购买 nike

我的程序包含这个

print("hyy")
print(self.reward, self.gamma, max_val)
print(self.reward + (self.gamma * max_val))

此处,self.reward 为 -0.25,self.gamma 为 1,max_val 为 0。

当我运行代码时,我的输出是:

hyy
-0.25 1 0.0
ans = goal.value_iteration()
File "/Users/mac/Desktop/MDP-master/value.py", line 237, in value_iteration
print(self.reward + (self.gamma * max_val))
TypeError: can't multiply sequence by non-int of type 'float'

前两行编译成功。为什么我的代码块的第三行不是?我该如何解决这个问题?

最佳答案

self.gamma 不是数字。最有可能的是,它是一个字符串。这是一个重现您的错误的最小示例:

a, b, c = -0.25, '1', 0.0

a + b * c # TypeError: can't multiply sequence by non-int of type 'float'

定义了将字符串乘以整数,例如'a' * 2 == 'aa',但将字符串乘以 float (例如 0.0)则不然。要转换为数字,您可以使用float:

a + float(b) * c  # -0.25

关于Python 3 : TypeError: can't multiply sequence by non-int of type 'float' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52836476/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com