ブルーブリッジカップデイリーワン質問(1):ガウスの日記(python)

トピック:

偉大な数学者ガウスには良い習慣があります。とにかく日記をつけてください。
彼の日記には違いがあります。彼は年、月、日を記録せず、代わりに整数を使用しました。たとえば、4210以降、
人々は整数が日付であることを知り、その日は翌日であると言いました。ガウスが生まれました。これも良い習慣かもしれませんが、それは常に所有者に思い出させます:1日が過ぎます、どれくらいの時間を無駄にすることができますか?
ガウスは1777年4月30日に生まれました。
ガウスによって発見された重要な定理の日記には、5343と記されているため、1791年12月15日と計算できます。
ガウスが博士号を取得した日の日記には、8113と記さ
れています。ガウスが博士号を取得した日付を計算してください。

解決:

(例から、生年月日も
日であることがわかります)日付に関連しているため、datetimeモジュールを考えるのは簡単です。
最初にstrptime関数を使用して、生年月日を次の日付時刻形式に変換します。その後の処理。
その後、)デルタ日にコンバート日にdeltatime機能(インクリメンタル時間)を使用
生年月日、最終的な時間を得るために、増分の時間を追加し、最後に。
最終的に出力する時間をstrftimeのメソッドを使用します。
それができます直接出力することもできますが、直接出力の結果には分と秒が含まれます。

Code_1:

import datetime
days = int(input('日记时间:')) - 1

birth = datetime.datetime.strptime('1777-4-30', '%Y-%m-%d')

delta = datetime.timedelta(days=days)

doctor = birth + delta

print(doctor.strftime('%Y-%m-%d'))

Code_2:

この質問に限定されない一般的な方法

import datetime
days = int(input('间隔天数:')) - 1
year = str(input('开始年份:'))
month = str(input('开始月份:'))
day = str(input('开始日期:'))

start = [year, month, day]
start = '-'.join(start)

birth = datetime.datetime.strptime(start, '%Y-%m-%d')

delta = datetime.timedelta(days=days)

doctor = birth + delta

print(doctor.strftime('%Y-%m-%d'))

おすすめ

転載: blog.csdn.net/weixin_50791900/article/details/112276853