我遇到了Python的问题。 这是我的代码:
def calcola():
a = input()
b = float(a[0].split("*"))
c = float(a[0].split("/"))
d = float(a[0].split("-"))
e = float(a[0].split("+"))
j = float(a[1].split("*"))
k = float(a[1].split("/"))
l = float(a[1].split("-"))
m = float(a[1].split("+"))
b = b[0]
c = b[1]
d = c[0]
e = c[1]
f = d[0]
g = d[1]
h = e[0]
i = e[1]
somma1 = b+c
somma2 = d+e
somma3 = f+g
somma4 = h+i
print(somma1)
print(somma2)
print(somma3)
print(somma4)
calcola()
我有一些错误:
追踪(最近一次通话): 文件“file.py”,第29行,in calcola() 用calcola文件“file.py”,第3行 b = float(a [0] .split(“*”)) TypeError:float()参数必须是字符串或数字,而不是'list'
如何在列表中转换数字?
答案 0 :(得分:9)
您无法直接在列表中呼叫m1 <- matrix(1:6, ncol=2)
length(m1)
#[1] 6
。您可以使用float
在列表中的每个项目上调用map
。像这样:
float
在python 3.x
中b = map(float, a[0].split("*"))
或者为了更具可读性,请使用列表理解。适用于python2和python3:
b = list(map(float, a[0].split("*")))
但请确保分割后的项目是 floatable