【问题标题】:Defining month_days to show number of days in each month定义 month_days 以显示每个月的天数
【发布时间】:2022-06-25 16:55:32
【问题描述】:

我正在参加 Python 速成课程介绍,并且试图定义 month_days 以在一个句子中打印每个月的天数 Month has x days 时遇到了困难。

这是我到目前为止想出的,但我不确定如何定义month

def month_days(month, days):
    print(month + “ has “ + str(days) + “ days.”)


month_days(June, 30)
month_days(July, 31)

【问题讨论】:

  • 将月份名称放在引号中。 month_days("June", 30)
  • 尝试使用f"{month} has {days} days." 而不是Month + “ has “ + str(days) + “ days.”。另请注意,函数中的参数是month 而不是Month,就像您的打印语句中那样。
  • 同时停止大写关键字/函数名。
  • @accdias 你为什么要编辑别人的代码?代码应在 OP 复制或键入时保留。如果不是所有的都被标记为代码,那么小的更正是可以的,但是将大写字母改为小写字母是不行的。这在 Python 中会有所不同。
  • 您不知道它们是否是拼写错误..您没有将该代码放入问题中。考虑到参数月份,我可以将第一个单词归咎于自动更正,但中间的单词没有被“自动更正”。只是说,有时通过编辑代码可能弊大于利。

标签: python


【解决方案1】:

有很多事情是错误的。请记住一般规则:几乎所有内容都区分大小写。变量monthMonth 是完全不同的对象。

第二个问题:Print 应该是小写的。

第三:您将字符串传递给函数,而不是变量,因此您需要引用它们。这意味着你需要写month_days('June', 30) 而不是month_days(June, 30)。如果没有引号,python 将查找名为 June 的变量,这不是您的目标。

最后:正确的引号字符。您可以使用'",但不能使用。您使用的最后一种语言更适合用自然语言编写,而不是任何(!)编程语言。

所以,代码应该是这样的:

def month_days(month, days):
  print(month + ' has ' + str(days) + ' days.')

month_days('June', 30)
month_days('July', 31)

你也可以这样打印:

print(f'{month} has {days} days.')

或者像这样:

print('%s has %d days.' % (month, days))

【讨论】:

    【解决方案2】:

    我正在学习相同的课程! 一些自动反馈(在简短的练习中弹出)让我感到困惑(见图)。 有时,无法理解错误类型。我非常想通过了解自己的错误来取得进步。 寿,我也喜欢我在 Stackoverflow 网站上找到的支持...... :) 我的看法是,知道如何编码并不会自动提高一个人的解释能力。 祝你课程顺利! :)

    Screenshot from the course

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 2012-12-08
      • 2023-03-27
      • 2021-11-06
      • 2020-02-29
      • 1970-01-01
      相关资源
      最近更新 更多