【问题标题】:Writing a function that takes four arguments which are listed below. Python编写一个接受下面列出的四个参数的函数。 Python
【发布时间】:2014-12-06 20:32:43
【问题描述】:

我需要编写一个函数,它接受四个参数:日、月和年作为数字。周必须是以下之一:MTWRFSU 并将此日期转换为人类可读的字符串。 输出应如下所示:

输入日期:28 输入月份:9 进入年份:2014 输入工作日:U 日期:2014 年 9 月 28 日,星期日。

到目前为止,我的代码看起来像这样,我很难过任何人都可以帮助普通程序员吗?:

#FUNCTION THAT TAKES 4 ARGUMENTS.
day = int(input('Enter day: '))
month = int(input('Enter month: '))
year = int(input('Enter year:'))
weekday = str(input('Enter weekday: ')) #MTWRFSU

    def total():
        day = int(input('Enter day: '))


        if day >= 32:
            month = int(input('Enter month: '))
        else:
            print('Please enter a valid day for a month. Numbers 1 through 31.')


        if month >= 12:
            year = int(input('Enter Year: '))
        else:
            print('Please enter a valid month: ')











    total()

【问题讨论】:

  • 你需要问一个具体的问题。这看起来也像家庭作业,所以你会因此而被否决。
  • MTWRFSU 是什么?
  • @PadraicCunningham 周一、周二等
  • 我知道您在启动代码方面付出了一些努力,但 SO 不是家庭作业服务。
  • 将问题分解为多个部分 - 您需要将工作日 (MTWRFSU) 参数转换为工作日名称(星期一、星期二)。您需要将您的月份编号(1 到 12)转换为月份名称(1 月、2 月等),依此类推。您的函数将分为这样的部分,带有处理每个参数的代码段 - 尝试编写一些内容并在遇到特定问题时返回。我建议您可以使用“字典”和“列表”来帮助您进行转换(而不是大量的“if”语句)。

标签: python


【解决方案1】:
import datetime

def total(day, month, year):
   date = datetime.date(year, month, day)
   return '{0:%A}, {0:%B} {0:%d}, {0:%Y}'.format(date)

day = int(raw_input("Please enter the day (1-31)"))
month = int(raw_input("Please enter the month (1-12)"))
year = int(raw_input("Please enter the year"))
print total(day, month, year)

这使用 python 的datetime 模块来处理日期。返回行使用字符串格式,其中{0:?} 指代.format() 中的第一个(唯一)内容,然后对其进行适当的格式化(月、日和年)

另外,不要在 python 2.x 中使用输入(如果这是 python 3.x 则继续)

您可能会注意到我只使用 3 个输入 - 这是因为 datetime 可以在不被告知的情况下计算出星期几。但是,这也可以简单地更改为要求。

【讨论】:

  • 不回答 OP 的问题 - 显然,他们正在被教授处理多个参数和格式化输出的导师询问一个特定的问题。
  • 我同意这个问题本质上毫无意义,因为标准库非常丰富,但它实际上是一个很好的学习练习,可以处理列表和字典之类的东西,以帮助将编码数据转换为可读信息,并处理多个参数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
  • 2021-03-07
  • 2014-12-13
  • 2016-07-07
  • 2021-05-09
  • 2010-11-05
  • 2023-03-22
相关资源
最近更新 更多