【问题标题】:How do you avoid errors do an automatic grading script?您如何避免错误执行自动评分脚本?
【发布时间】:2020-07-14 21:26:20
【问题描述】:

这是我的第二门 Python 初学者课程,所以我正在学习!对于大多数事情,我使用 Python 笔记本,因为我觉得它具有更大的灵活性。实际程序是 Coursera。我最近将以下代码从 python 笔记本(运行良好)传输回 Coursera,但出现语法错误。不是第一次。我该如何避免这种情况?寻求任何建议。

“TabError:缩进中制表符和空格的使用不一致”

def email_list(domains):
    emails = []
    for provider, user in domains.items():
        for each_user in user: 
            new_user=("{}@{} ".format(each_user,provider))
            emails.append(new_user)
    return(emails)

print(email_list({"gmail.com": ["clark.kent", "diana.prince", "peter.parker"], "yahoo.com": ["barbara.gordon", "jean.grey"], "hotmail.com": ["bruce.wayne"]}))

【问题讨论】:

  • 使用像 PyCharm 这样的 IDE,它应该会自动为你格式化。
  • 无法从给定的 sn-p 重现错误
  • 没错。 python笔记本没有错误。有用。问题实际上是关于培训计划 - Coursera,这导致我出现语法错误。作为一个初学者,我不知道如何解决这个只存在于一个平台上的神秘错误。我不能使用开发平台 - 我必须在 Coursera 平台上提交代码。
  • 我无法发现任何可能的缩进问题,尽管它声称您同时使用了 \t 制表符和空格(不允许这样做)。也许检查一下您在 Coursera 上处理代码时是否不小心将制表符插入到代码中(IDE 通常会为您规范制表符和空格缩进,而 Coursera 的编辑器可能不会)? user: 后面还有一个空格,虽然这不会造成任何问题

标签: python


【解决方案1】:

我过去遇到过这样的问题,这就是我所做的,在将代码粘贴到 Coursera 后,尝试从代码中删除每个空格和制表符并重新键入它们,例如,删除 def 行中的空格,直到你有这一行

def email_list(domains):emails = []

在此行之后按回车键或在冒号后立即输入会给您正确的缩进,希望您的代码能够顺利运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-20
    • 2014-05-07
    • 1970-01-01
    • 2020-11-03
    • 2011-03-31
    • 2018-06-04
    • 1970-01-01
    • 2017-12-04
    相关资源
    最近更新 更多