如何在Python中将列表中的元素除以整数?

我遇到TypeError: unsupported operand type(s) for /: 'list' and 'int'错误。我知道为什么,但是我不知道如何将输入的参数除以整数。

from ast import literal_eval


def get_area(x,y,z):
    area = ((x + y) / 2) * z 
    return area

param = (input('give parameters in the following format: "[[base_1],[base_2],[height]]"'))
param = literal_eval(param)

print(get_area(param[0],param[1],param[2]))
thinkphilo 回答:如何在Python中将列表中的元素除以整数?

我不确定您为什么要要求用户以数组数组形式输入他们的输入。您可以通过两种方式解决此问题:

通过更改函数以使用数组内的元素:

def get_area(x,y,z):
    area = ((x[0] + y[0]) / 2) * z[0]
    return area

或仅接受用户的列表:

input('give parameters in the following format: "[base_1,base_2,height]"')
,

我认为问题在于您如何输入数字。我测试了它的输入:1,2,3和[1,3]没关系。如果我按照您输入的句子中的建议输入了[[1],[2],[3]] ...则失败!

,

[[base_1],[base_2],[height]]

[base_1]周围的括号将其作为列表,您需要一个数字。

因此,请移除base1,base2和height周围的括号,它应该可以工作。

[base_1,base_2,高度]

本文链接:https://www.f2er.com/2945923.html

大家都在问