2017-10-07 55 views
0

看看我的代码:打印多个变量,从单一功能回到

def convert_date(date_int): 
    month = int(date_int/1000000) 
    date_int = int(date_int - 1000000 * month) 
    days = int(date_int/10000) 
    date_int = int(date_int - 10000 * days) 
    year = date_int 
    return days, month, year 


print("*This part*".format(convert_date(
int(input("Enter a date in the format MMDDYYYY: "))))) 

那“这部分”是,我不知道如何词组从用户打印新线这样的部分输入“05102017”:

10/05/2017 

而且我将不胜感激,如果有人能提出一个更好的方式来处理这个用户输入

+0

(1)你可能有一个压痕错误在你的代码。 (2)请考虑提供一个最小的工作示例。 (3)你应该尽量利用Python的* batteries-included *策略,并研究'time','datetime'等包。 – norok2

+0

你(希望)没有得到一个整数作为输入,而是一个*字符串*,你可以使用,例如切片:'日,月,年= date_int [:2],date_int [2:4] ,date_int [4:]'。 – chepner

回答

3

我会斯特龙gly建议你使用datetime library

但是,如果您想通过简单操作来自用户输入的字符串来执行此操作,则不需要“convert_date”函数。你可以简单地做:

input_date = input("Enter a date in the format MMDDYYYY: ") 
print("{}/{}/{}".format(input_date[:2], input_date[2:4], input_date[4:])) 
0
>>> date = int(input("Enter a date in the format MMDDYYYY: ")) 
Enter a date in the format MMDDYYYY: 05102017 
>>> date = convert_date(date) # your function 
>>> date 
(10, 5, 2017) 
>>> print("{}/{}/{}".format(date[0], date[1], date[2])) 
10/5/2017