[英]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.