Python:创建一个 month() 函数以将 1 - 12 作为输入并返回相应的月份

标签 python string function operations

我目前正在尝试创建一个 month() 函数,它将数字 1 到 12 作为输入并返回相应月份的三个字符缩写。我需要在不使用 if 语句和使用字符串操作的情况下执行此操作。我还必须使用一个字符串来存储所有缩写。我目前对这个功能感到困惑,以至于我什至想不出一种方法来开始它,这似乎是那些对我来说很复杂的简单问题之一。

提前感谢您抽出时间。

最佳答案

我不确定还有哪些其他限制,但 split 是一个字符串操作。所以,像这样的事情应该可行:

split,会将字符串转换为列表,然后您只需返回与您提供的索引对应的值。 “-1”是因为列表总是从索引 0 开始。

def month(n):
    a = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split()
    return a[n - 1]

演示:

月(4) -> 四月

没有限制,将数字转换为三个字母的月份缩写的理想方法是使用 Python 的日期时间:

from datetime import datetime
datetime.strptime('4', '%m').strftime('%b')

上面会输出'Apr'

关于Python:创建一个 month() 函数以将 1 - 12 作为输入并返回相应的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33204795/

相关文章:

ruby - Ruby 缺少的 string#unshift 最地道的替代品是什么?

javascript函数(输入日期大于今天的日期)

python - Numpy 除以零。为什么?

java - 如何在字符串中查找 int 值

java - 当我用Java中的Scanner类读取.txt文件时,如何只能读取字符串或整数

C++:在不知道函数名的情况下获取当前函数指针?

c - 将 stdout/stderr 重定向到 C 中的函数

python - 检索满足某些条件的字典

python - 将列表的元素链接为树

Python TooManyRedirects : Exceeded 30 redirects