我在我的項目中使用MVC
(Module-View-Controller
)模式。我想保留我的代碼DRY(不要重複自己),所以我不想再爲另一個輸入編寫get_date函數。如何將函數與特定的輸入傳遞給驗證此輸入的函數? - Python
我使用功能get_date()
幾次,但有不同的輸入。我怎樣才能通過這些輸入功能get_date()
所以它可以工作?
在這裏,我打電話get_date()
功能:
date = get_date(date_input = provide_date())
在這裏,我想通過與輸入消息的功能:
def get_date(date_input):
ask = True
while ask:
date_input
try:
validation = datetime.strptime(date_input, '%Y-%m-
%d').strftime('%Y-%m-%d')
date_list = validation.split('-')
correct_date =
date(int(date_list[0]),int(date_list[1]),int(date_list[2]))
return correct_date
ask = False
except ValueError:
wrong_input()
Provide_date功能是:
def provide_date():
return input('Type date in format Y-M-D: ')
我有另一個輸入端針對不同的情況,如重新安排其他消息。
如何將此輸入傳遞給get_date()
函數,以便它可以在While循環內工作?因爲現在它會在我引發TypeError時永久循環。
有行只是'date_input'什麼都不做。你是否意味着將'date_input'傳遞給函數(而不是'date_input()'),然後在該行上調用'date_input()'?這兩個不相同。 –
@tobias_k是的,正好。我應該怎麼做?輸入必須在While循環內部調用才能正常工作。 – JeyKey