用python中以0开头的数字索引数据类型

时间:2018-08-30 09:14:26

标签: python python-3.x indexing

我有一个将3个数字转换为日期的函数。

<?php $link = URLROOT. "post/" .$newsVal->Blog_Title_En.'/'

所以如果我运行这样的函数:conv(6,17,2016) 输出将是:

def conv(month, day, year):
    months = ('None','January','February','March','April','May','June','July','August','September','October','November','December')
    print(months[month],str(day)+',',year)

到目前为止还不错,但是如果我将本月的06改为6而不是6怎么办?有没有办法使用06并以某种方式将其转换为6进行索引,或者我只需要给出6而没有办法做到?

5 个答案:

答案 0 :(得分:1)

假设您知道06将自动引发语法错误,这意味着您只能创建诸如"06"之类的字符串。

上面写着,很容易转换为int

number = int(month)

答案 1 :(得分:1)

我建议使用let plus: (Int, Int) -> Int = foo

datetime

或使用In [31]: d = datetime.datetime.now().date() In [32]: d.strftime('%B %d, %Y') Out[32]: 'August 30, 2018'

calender

答案 2 :(得分:1)

这将更容易消化:

import datetime

def conv(month, day, year):
    d = datetime.date(year, month, day)
    print(d.strftime("%B %d, %Y"))

答案 3 :(得分:0)

将您的06投射到int-这将是正常的6。因此,您将使用print(months[int(month)],str(day)+',',year)

进行打印

但如注释中所述-只需使用datetime模块即可:-)

答案 4 :(得分:0)

您可以将元组转换为datetime,然后使用.strftime对其进行格式化:

>>> tup=(2018,8,30)
>>> from datetime import datetime
>>> datetime(*tup)
datetime.datetime(2018, 8, 30, 0, 0)
>>> print(datetime(*tup)) # print
2018-08-30 00:00:00
>>> datetime(*tup).strftime('%B %d, %y')
'August 30, 18'
>>>