この記事では、Python プログラミングの古典的なケースを一緒に検討し、Python を没入的に学習できるようにします。まずこのトピックについて考えてから、この記事の問題解決方法と比較してください。異なる意見がある場合は、公式アカウントで議論してください。
記事ディレクトリ
1.典型的なケース【試験問題】
質問:
日付を入力して、この日が一年のうち何日であるかを判断してください。
入力:
20220809
出力:
221
2. 典型的なケースの問題解決方法
1 方法 1: この日とその年の 1 月 1 日との時差を計算して日数を求める
上記の場合の問題を解決する最初の方法は次のとおりです。
ステップ 1: 入力時刻の年を切り取り、その年の 1 月 1 日を基準日としてつなぎ合わせます。
Step2: 入力した日付と基準日の間隔を計算し、その間隔に 1 を加算して日付を求めます。
具体的なコードは次のとおりです。
from datetime import date
raw_date = input('请按yyyymmdd方式输入年月日')
def y_days1(raw_date):
date1 = date(int(raw_date[0:4]), 1, 1)
date2 = date(int(raw_date[0:4]), int(raw_date[4:6]), int(raw_date[6:8]))
return (date2 - date1).days + 1
y_days1(raw_date)
input('yyyymmddに従って年、月、日を入力してください'): 日付を手動で入力します。
raw_date[0:4]: 文字列の 1 桁目から 4 桁目までをインターセプトします。
日付を手動で 20220105 と入力した場合、結果は次のようになります。
5
結果が正しいかどうかを手動で確認できます。この方法の利点は、ロジックがシンプルで理解しやすいことです。
2 方法2:各月の日数を合計して求める
上記の場合の 2 番目の問題解決アイデアは次のとおりです。
ステップ 1: カレンダー ライブラリを呼び出して for ループを適用し、入力日付がその年の現在の月より小さい各月の日数を取得します。それらを合計します。
ステップ 2: 日付の当月の日数を取得し、それを前の日数と合計して、この日が何日であるかを調べます。
具体的なコードは次のとおりです。
import calendar
raw_date = input('请按yyyymmdd方式输入年月日')
def y_days2(raw_date):
all_days = 0
for i in range(1, int(raw_date[4:6])):
all_days += calendar.monthrange(int(raw_date[0:4]), i)[1]
all_days += int(raw_date[6:8])
print(all_days)
return all_days
y_days2(raw_date)
マニュアルの日付が 20220108 の場合、結果は次のようになります。
8
結果が正しいかどうかを手動で検証することもできます。また、興味のある友人がコードを Python にコピーして、検証のために別の日付を入力することもできます。
ここまで、Pythonでのプログラミング【試験問題】の古典的なケースで、年の日付を決定する方法について説明してきました。Python の関数についてさらに詳しく知りたい場合は、公式アカウントの「Python を学ぶ」モジュールの関連記事を読むことができます。
あなたは興味があるかもしれません:
Python でピカチュウを描くPython で
ワード クラウド マップを描く
Python で 520 回の永遠の鼓動を描くPython 顔認識 -だけが
私の目にはneo4j を操作するには Python の py2neo ライブラリを使用しますPython のロマンチックな告白ソース コード コレクション (愛、バラ、写真の壁、星空の下での告白) の関係マップを構築します。