我有:

* MONTHS =(“一月”,“二月”,“三月”,...“十二月”)(包括所有月份)

我应该输入一个月的3个字母的缩写,并获取该月的索引值。到目前为止,我有:

for M in MONTHS:
    shortMonths = M[0:3]
    print shortMonths



  一月二月三月四月五月六月七月八月九月十月十一月十二月


我注意到在shortMonths中的输出月份没有引号,这使得无法测试缩写是否在shortMonths中:


  MMM =“二月”
  
  打印列表(shortMonths).index(MMM)+1#考虑到列表的第一个月,即一月,是月份0 + 1 = 1,依此类推,对于所有月份
  
  
    
      ValueError:“ Feb”不在列表中
    
  


如何在不创建函数的情况下解决此问题?
另外,这是一个分配问题。而且,我们不允许使用字典或地图或日期时间

最佳答案

听起来您想让shortMonths成为列表,但您只是为其分配了一个字符串。

我想你想要这样的东西:

shortMonths = [] # create an empty list
for M in MONTHS:
    shortMonths.append(M[0:3]) # add new entry to the list
print shortMonths # print out the list we just created


或使用列表推导:

# create a list containing the first 3 letters of each month name
shortMonths = [M[0:3] for M in MONTHS]
print shortMonths # print out the list we just created

09-07 02:27