2017-10-07 67 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