+ -
当前位置:首页 → 问答吧 → 请大家帮我看看这个python 哪里有错?调试了半天一直不行。

请大家帮我看看这个python 哪里有错?调试了半天一直不行。

时间:2011-06-30

来源:互联网

Python code
#根据给定的年月日以数字形式打印出日期.
months =[
    'January',
    'February',
    'March',
    'April',
    'May',
    '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)
dya_number = int (day)
#记得要把月份与天数减1,以获得正确的索引.
month_name = months[month_number - 1]
ordinal = day + endings[day_number - 1]
print month_name + '' + ordinal + ',' + year




下载是调试的错误:
year:2007
Month(1-12):6
Day(1-31):7

Traceback (most recent call last):
  File "F:/python/pythonjc/text2_1.py", line 25, in <module>
  ordinal = day + endings[day_number - 1]
NameError: name 'day_number' is not defined


刚开始看python 第二天。


另外这句是什么意思呢?
endings = ['st','nd','rd']+ 17*['th'] + ['st','nd','rd'] + 7*['th'] + ['st']

谁帮忙说一下?谢谢了

作者: cndeer   发布时间: 2011-06-30

错误的意思是day_number没定义。
你前面打错字了,自己找下。

作者: iambic   发布时间: 2011-06-30

引用楼主 cndeer 的回复:
另外这句是什么意思呢?
endings = ['st','nd','rd']+ 17*['th'] + ['st','nd','rd'] + 7*['th'] + ['st']


python有个解释器,可以交互式的执行代码,要充分利用这一点。

作者: panghuhu250   发布时间: 2011-06-30