python-3.x for循环中的冒号有问题(运行时错误/语法错误)

mtb9vblg  于 2023-01-22  发布在  Python
关注(0)|答案(2)|浏览(219)

我是一个Leetcode的程序员,它说我在for循环中使用了一个错误的冒号,这是我的代码:

class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
    strnums = []
    for i in strnums: strnums += str(i)
    for n1 in range(1, len(nums) + 1):
        for n2 in range(1, len(nums)+1):
            if nums[n1] == nums[n2]
                pass
            elif n1 + n2 == target:
                print(nums[n2])
            else:
                pass

第5和第6行有问题,
有人能帮帮我吗?

js81xvg6

js81xvg61#

第4行

for i in strnums: strnums += str(i)

strnums为空,则此循环将不进行迭代。

第7行

if nums[n1] == nums[n2]

if语句末尾缺少冒号。

1wnzp6jl

1wnzp6jl2#

多个冒号缺失,多处缩进也缺失,Python对缩进很敏感,for循环、函数、类等的主体必须从声明开始缩进:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        strnums = []
        for i in strnums: 
            strnums += str(i)
            for n1 in range(1, len(nums) + 1):
                for n2 in range(1, len(nums)+1):
                if nums[n1] == nums[n2]:
                    pass
                elif n1 + n2 == target:
                    print(nums[n2])
                else:
                    pass

相关问题