我正在编写将某些数据分配给不同季节的代码。我希望程序根据当前月份打印各种数据。
Autumn = 'September'
Autumn = 'October'
Autumn = 'November'
Autumn = 'December'
Autumn = 'January' #(The start Jan 01)
Spring = 'January' #(Jan 02 onwards)
Spring = 'February'
Spring = 'March'
Spring = 'April' #(The start April 04)
Summer = 'Apirl' #(April 05 onwards)
Summer = 'May'
Summer = 'June'
Summer = 'July'
Run Code Online (Sandbox Code Playgroud)
time.strftime("%b")
Run Code Online (Sandbox Code Playgroud)
会告诉你当前月份(缩写)
time.strftime("%m")
Run Code Online (Sandbox Code Playgroud)
会给你数字月份(即 1 = Jan / 12 = Dec)
(甚至更好)
datetime.datetime.now().month
Run Code Online (Sandbox Code Playgroud)
因为这会给你一个实际的整数而不是一个字符串(虽然一月是 0,但要警告)
小智 5
您可以使用datetime.datetime.now
:
>>> from datetime import datetime
>>> datetime.now().month # As a number
4
>>> datetime.now().strftime("%B") # As a name
'April'
>>> datetime.now().strftime("%b") # As an abbreviated name
'Apr'
>>>
Run Code Online (Sandbox Code Playgroud)
您可以使用模块中的strftime()
功能time
。这会将当前月份存储在名为的变量中current_month
。
from time import strftime
current_month = strftime('%B')
Run Code Online (Sandbox Code Playgroud)
如果要从中获取当前季节,请尝试以下功能:
def get_season(month):
seasons = {
'Autumn': ['September', 'October', 'November', 'December', 'January'],
'Spring': ['January', 'February', 'March', 'April'],
'Summer': ['Apirl', 'May', 'June', 'July']
}
for season in seasons:
if month in seasons[season]:
return season
return 'Invalid input month'
Run Code Online (Sandbox Code Playgroud)
目前,这不能解决您指定的日期冲突,因为一月的任何一天都会返回'Autumn'
,而四月的任何一天都会让您'Spring'
。
归档时间: |
|
查看次数: |
3318 次 |
最近记录: |