如何解决此代码中的类型错误?

2024-09-30 16:19:49 发布

您现在位置:Python中文网/ 问答频道 /正文

def turn_clockwise(point):
    all_point = ["N", "E", "S", "W"]
    for loop in range[4]:
        if all_point[loop] == point:
            if loop == 3:
                return "N"
            else:
                return all_point[loop + 1]

来自PyScripter上Python解释器的消息:

Traceback (most recent call last):
File "D:\Documents\Pyscripter practice\Chp.6 Exercises - Fruitful functions.py", line 25, in test_suite()
File "D:\Documents\Pyscripter practice\Chp.6 Exercises - Fruitful functions.py", line 21, in test_suite test(turn_clockwise("N") == "E")
File "D:\Documents\Pyscripter practice\Chp.6 Exercises - Fruitful functions.py", line 5, in turn_clockwise for iteration in range[4]:
TypeError: 'type' object is not subscriptable


Tags: inpylooplineallfunctionsdocumentsturn
2条回答
for loop in range(4) instead of range[4]

当它从0迭代到范围-1时

您需要使用()方括号而不是[],因为range是我们需要调用的类



def turn_clockwise(point):
    all_point = ["N", "E", "S", "W"]
    for loop in range(4):
        if all_point[loop] == point:
            if loop == 3:
                return "N"
            else:
                return all_point[loop + 1]

相关问题 更多 >