【问题标题】:Syntax error in python 3 when I'm trying to convert a date but no luck on trying to solve it [duplicate]python 3中的语法错误,当我尝试转换日期但尝试解决它时没有运气[重复]
【发布时间】:2018-02-20 02:31:40
【问题描述】:

我正在尝试在 python 3 中将日期(即 6/15/2000)转换为日期、月份缩写和年份(即 2000 年 6 月 15 日)

def main():
    dateStr = raw_input("Enter a date (mm/dd/yyyy): ")
    monthStr, dayStr, yearStr = string.split(dateStr, "/")
    months = ["January", "February", "March", "April", "May", "June", 
    "July", "August", "September", "October", "November", "December"]
    monthStr = months[int(monthStr)–1]   

main()

【问题讨论】:

  • 你在学习哪个 Python 教程?该教程是为哪个版本的 Python 设计的?这是否与您使用的 Python 版本相匹配?
  • 告诉我们错误消息的确切措辞是什么,以及产生它的代码行。stackoverflow.com/help/mcve
  • int(monthStr)–1 中的 不是减号而是破折号,替换为-。如果您发布了错误,它会更容易提供帮助。 (另外raw_input() 不在 Python 3 中)

标签: python python-3.x


【解决方案1】:

Python 3 代码:

def main():
    dateStr = input("Enter a date (mm/dd/yyyy): ")
    monthStr, dayStr, yearStr = dateStr.split("/")
    months = ["January", "February", "March", "April", "May", "June", 
    "July", "August", "September", "October", "November", "December"]
    monthStr = months[int(monthStr)-1]
    print ('Converted Date: ' + ' '.join([str(dayStr), monthStr, str(yearStr)]))

main()

Python 2 代码:使用raw_input

def main():
    dateStr = raw_input("Enter a date (mm/dd/yyyy): ")
    monthStr, dayStr, yearStr = dateStr.split("/")
    months = ["January", "February", "March", "April", "May", "June", 
    "July", "August", "September", "October", "November", "December"]
    monthStr = months[int(monthStr)-1]
    print ('Converted Date: ' + ' '.join([str(dayStr), monthStr, str(yearStr)]))

main()

说明

首先,您的split 语法似乎不正确。它应该是<str>.split(<split character>)dateStr.split("/")

接下来,在 Python 3 中,没有 raw_input,因为它被重命名为 input()

最后,我添加了print 声明。

希望对你有帮助。

【讨论】:

  • 发布代码而不解释你解决了什么问题是没有用的。
  • 我已经添加了解释,谢谢。
猜你喜欢
  • 2013-10-21
  • 1970-01-01
  • 2021-04-20
  • 1970-01-01
  • 2011-02-23
  • 2020-12-20
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
相关资源
最近更新 更多