我有:
* 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