《python基础教程(第二版)》里给出的打印日期的代码为什么运行时总是出现list index out of range
怪我咯
怪我咯 2017-04-17 13:24:51
[Python讨论组]

代码如下
刚开始学python…可能描述的不清楚…

months = [
    'January'
          'February'
          'March'
          'April'
          'may'
          'June'
          'July'
          'September'
          'August'
          'October'
          'November'
          'December'
]
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_nubmber = int(day) 
month_name = months[month_number-1]
ordinal = day + endings[day_number-1]
print month_name + ' ' + ordinal + ',' + year

----------------分割线----------------
回@lohocla4dam
我修改以后是这样的……
NameError: name 'day_number' is not defined

代码如下

months = [
'January',
      'February',
      'March',
      'April',
      'may',
      'June',
      'July',
      'September',
      'August',
      'October',
      'November',
      'December'
]

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_nubmber = int(day)

month_name = months[month_number-1]
ordinal = day + endings[day_number-1]
print month_name + ' ' + ordinal + ',' + year
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
伊谢尔伦

你没有发现你给months赋值的时候少写了逗号吗。。。

题主试试这段代码就明白了

s = ['January'
     'February']

t = ['January',
     'February']

print(s, t)
PHPz

day_nubmber 你拼错了吧。。。

迷茫

day_number 拼写错了 = =

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号