我有下面的代码,输入为h_ply =['0.12, 0.15, 0.2, 0.125']
h_ply = simpledialog.askstring('Laminate Properties','Ply Thickness')
try:
h_layer_list = [int(x) for x in h_ply.split(',')]
h_layer = np.array(h_layer_list) * 0.001
我也尝试过
h_ply1 = np.array(h_ply)
h_layer = h_ply1.astype(np.float)
但是有同样的错误。
我正在尝试将h_ply
列表放入np.array
个Floats中。但是出现ValueError。
我了解这可能是因为每个数字都应该有''
,而不仅仅是结尾吗?但理想情况下,我想避免这种情况变得更加用户友好。摆脱此错误消息的最佳方法是什么?
谢谢
答案 0 :(得分:0)
处理此问题的方法是正确访问字符串。查看您的数据:
h_ply =( # a tuple, containing ...
[ # a single element, a list, containing ...
[ # a single element, a list, containing ...
'0.12, 0.15, 0.2, 0.125' # ... a string that you have to split
]
]
)
您必须剥离所有这些层才能到达字符串:
h_str = h_ply[0][0][0]
现在,您可以分割字符串并将元素转换为数值。您发布的代码试图拆分元组并进行转换。