-1
なぜ、このコードは、ワークスローエラー私は、インデックスまたはここに任意の型/オブジェクトを呼び出すことはないよ「if list[(userlstlen-1)] < list[(userlstlen-2)]: TypeError: 'type' object is not subscriptable
」はTypeError:「タイプ」オブジェクトはリストのインデックスに添字化されていない
。ここで
def find_linear_quadratic(userlst, userlstlen):
while userlstlen != 0:
print("iteration: \n", userlstlen)
# Start body here
if list[(userlstlen-1)] < list[(userlstlen-2)]:
A = list[(userlstlen-1)]
list[(userlstlen-1)] = list[(userlstlen-2)]
list[(userlstlen-1)] = A
userlstlen -= 1
return userlst
def main():
list = [3,2,1]
lstlen = list.__len__()
find_linear_quadratic(list, lstlen)
main()
_ "ここではどのタイプ/オブジェクトでもインデックスを作成したり呼び出しているわけではありません。"オブジェクトに角括弧を使用しています(例:あなたは 'list'でそれをやっています。これは型です。 – Kevin
あなたのリストの名前は 'list' *外部*です。(これは組み込み型のシャドーイングには悪い考えですが)*関数内ではパラメータ名' userlst'をとります。また、 '__magic_methods__'を直接呼び出すことはほとんどありません。' thing .__ len __() 'は' len(thing) 'でなければなりません。 – jonrsharpe
'main()'では、組み込みの 'list'型を(ローカル)変数に再定義するので、それを使うことができます。しかし、型を使用している 'find_linear_quadratic()'ではそうではありません。 – martineau