簡體   English   中英

如何在 Python 中將列表中的元素除以整數?

[英]How do I divide an element from a list by an integer in 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]))

我不確定您為什么要求用戶將他們的輸入作為數組數組輸入。 您可以通過兩種方式解決此問題:

通過更改函數以使用數組內的元素:

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,2,3] 並且沒問題。 如果我按照您輸入的句子中的建議輸入 [[1],[2],[3]] ......它失敗了!

[[base_1]、[base_2]、[高度]]

[base_1] 周圍的括號使它成為一個列表,並且您需要一個數字。

因此,刪除圍繞 base1、base2 和 height 的括號,它應該可以工作。

[base_1,base_2,高度]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM