作為壹個純粹的練習,如果沒有明確的要求(壹般不會有這樣的要求),壹段代碼要避免太長,代碼要分功能,有助於測試和後期修改。
這兩者都可以在python的禪中找到。
當不是除夕的時候,妳的代碼仍然可以得到正確的結果。但是,除夕夜的處理存在問題。妳可以做壹些全年的測試來確認這壹點。關於未來狀態的除夕,計算是有問題的,過去狀態的除夕問題更明顯。
關於公歷1582的部分,在else塊中減去10就有點粗糙了。兩個年份都大於1583。10怎麽減?
同樣,在1582之前,閏年的計算要排除整個100年。
我建議妳不要繼續修改這段代碼了,這樣只會讓妳養成寫鐵板的壞習慣(所謂鐵板是指很難修改的大段代碼)。可以參考以下框架重新實現: