【问题标题】:Why can't i use print function just below for loop in python [duplicate]为什么我不能在python中的for循环下方使用打印功能[重复]
【发布时间】:2020-09-15 10:11:46
【问题描述】:
def skip_elements(elements):
    new_list = []
    i = 0

    for a in elements:
        print(a)
        if i%2==0:
            new_list+=a
        i+=1

    return new_list

print(skip_elements(["a", "b", "c", "d", "e", "f", "g"])) # Should be ['a', 'c', 'e', 'g']
print(skip_elements(['Orange', 'Pineapple', 'Strawberry', 'Kiwi', 'Peach'])) # Should be ['Orange', 'Strawberry', 'Peach']
print(skip_elements([])) # Should be []

这是显示缩进错误。当我们将 print(a) 放在 i+=1 之前时,即使这样也不起作用,而下面的代码却完美无缺。为什么会这样??

def skip_elements(elements):
    new_list = []
    i = 0

    for a in elements:
        if i%2==0:
            new_list+=a
        i+=1
        print(a)

    return new_list

print(skip_elements(["a", "b", "c", "d", "e", "f", "g"])) # Should be ['a', 'c', 'e', 'g']
print(skip_elements(['Orange', 'Pineapple', 'Strawberry', 'Kiwi', 'Peach'])) # Should be ['Orange', 'Strawberry', 'Peach']
print(skip_elements([])) # Should be []

【问题讨论】:

  • 您收到的确切错误消息是什么?
  • 文件“rough.py”,第 6 行 print(a) ^ TabError: 缩进中制表符和空格的使用不一致
  • 似乎是您的编辑器问题,而不是 python。检查这个问题:stackoverflow.com/questions/5685406/…

标签: python python-3.x list for-loop printing


【解决方案1】:

这是在代码中同时使用制表符和空格的情况,您可以使用 Notepad++ 之类的编辑器来查看不一致之处,或者使用 Pycharm 之类的 IDE 轻松调试这些问题。 在 Pycharm 中,您可以通过 Windows/Linux 中的 ctrl + shift + alt + l 和 MacOS 中的 cmd + shift + option + l 重新格式化代码。

【讨论】:

    【解决方案2】:

    这里应该是:

    new_list.append(a)
    

    不是:

    new_list+=a
    

    那么

    【讨论】:

    • 不要在问题或答案中包含屏幕截图。此外,虽然您提出了有效的担忧,但它并没有解决 OP 的问题。
    猜你喜欢
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多