大侠看看,我这个程序为什么在PY2.7可以运行在3.2运行不了?

hgx1218 2012-06-13 04:07:10
是书上的一个代码清单

# 根据给定的年月日以数字形式打印出日期
months = [
'Jaunary',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
]

#以1~31作为数字结尾的列表
endings = ['st', 'nd', 'rd'] + 17 * ['th'] \
+ ['st', 'nd', 'rd'] + 7 * ['th'] \
+ ['st']

year = raw_input('Year: ')
month = raw_input('Month (1-12): ')
day = raw_input('Day (1-31): ')

month_number = int(month)
day_number = int(day)

#记得要将月份和天数减1,以获得正确的索引
month_name = months[month_number-1]
ordinal = day + endings[day_number-1]

print month_name + '' +ordinal + ', ' + year

用2.7打开正常运行,3.2打开提示错误,在最后一行的month_name显示红字,请问这是为什么?
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
libralibra 2012-06-13
  • 打赏
  • 举报
回复
py3.x没有raw_input函数,而且print改为了函数,必须使用print(...)这种形式调用
bugs2k 2012-06-13
  • 打赏
  • 举报
回复
你用的那些 python 3 不再支持
hgx1218 2012-06-13
  • 打赏
  • 举报
回复
果然....能问句为什么吗?
bugs2k 2012-06-13
  • 打赏
  • 举报
回复
raw_input 改为 input
hgx1218 2012-06-13
  • 打赏
  • 举报
回复
好像用3.2打开还是不行,提示
Traceback (most recent call last):
File "D:\编程\程序\PY程序\4.py", line 22, in <module>
year = raw_input('Year: ')
NameError: name 'raw_input' is not defined
bugs2k 2012-06-13
  • 打赏
  • 举报
回复
print( month_name + '' +ordinal + ', ' + year )

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧