私は、Pythonを使用して1950年から2050年までの13日の金曜日の数を数えようとしています(少し遅れて知っています)。私は、使用する日付/カレンダーパッケージに慣れていません。何かご意見は?Count Count in Python
答えて
これは直接的な解決策を持っています。今月の13日が金曜日である回数をカウントする合計を使用します。
>>> from datetime import datetime # the function datetime from module datetime
>>> sum(datetime(year, month, 13).weekday() == 4
for year in range(1950, 2051) for month in range(1,13))
174
運動や宿題のようなものですか?私はそれを解決したことをかすかに覚えています。私はあなたにヒントを与えることができます、私は使用したようですCalendar.itermonthdays2もちろんそれを解決する他の方法もあるはずです。
Pythonで何ヶ月も反復するバグを見ました。物事は3月1日から1ヶ月後にジャンプするのが好きです。 OK、技術的には反復ではありませんが、私は数ヶ月にわたる時間操作に頼るのは面倒だと言っています。 "1ヶ月"を構成する期間の固定された定義はありません。 .. – Endophage
音が宿題のようです。ヒント(平日4金曜日です):
import datetime
print(datetime.datetime(1950,1,13).weekday())
金曜日には4.またisoweekday()
ありますですので、datetime.dateクラスは、あなたの整数として(0からインデックス付き)曜日を与えるweekday()
機能を持っていますそれは1からのインデックスを作成する、それはあなたが好むあなた次第です。
とにかく、簡単な解決策は次のようになります。
friday13 = 0
months = range(1,13)
for year in xrange(1950, 2051):
for month in months:
if date(year, month, 13).weekday() == 4:
friday13 += 1
私は 'months = range(0,13)'を 'months = range(13)'に簡略化できると信じています –
@NolenRoyalty私の宿題ではなく、私が大学にいたときに、手助けをすること。しかし、範囲の良い点...私は通常、習慣から非常に明示的ですが、それは本当に '0'を必要としないものです。 – Endophage
あなたの宿題はありませんが、[宿題を処理するための示唆された方法](http://meta.stackexchange.com/questions/10811/how-to-ask-and-answer-homework-questions)が適切です。 –
他のソリューションは、明確かつシンプルですが、以下のいずれかが、より「calendarist」です。
from datetime import datetime
from dateutil import rrule
fr13s = list(rrule.rrule(rrule.DAILY,
dtstart=datetime(1950,1,13),
until=datetime(2050,12,13),
bymonthday=[13],
byweekday=[rrule.FR]))
# this returns a list of 174 datetime objects
あなたはrrule.rrule
のこれらの5つの引数を参照してください:あなたがパッケージとしてインストール可能ですdateutil
パッケージ、必要があるでしょうdtstart
とbymonthday
が13でuntil
とbyweekday
間のすべてのrrule.DAILY
(日)取りをさrrule.FR
(金曜日) 。
- 1. Countとgroupby in Python
- 2. (count!= null)vs if(!count)in javascript
- 3. select *、count(*)in oneクエリ
- 4. Oracle - count()in same line
- 5. exporting:X、Y、turtle count in netlogo
- 6. PHP for Loop Count in Whileステートメント
- 7. SQLダブルNOT IN対COUNT
- 8. MYSQLサブクエリwhere count in/having
- 9. DISTINCT COUNT in SELECT CASE SQL
- 10. Count in sテーブルSQL Server
- 11. Pythonの変数Count
- 12. Count with Count
- 13. Python PyMongo Count出現数Array
- 14. PythonのCount-in-Cellsを使用した3Dスターフィールドでのクラスタリング
- 15. WebスクレイプWeibo Follower count by python
- 16. BigQuery COUNT(DISTINCT値)とCOUNT(値)
- 17. d [count]とd [count]の差
- 18. MySQL - Count/Having Count> columnName
- 19. mySQL/SQLのcount(0)、count(1)..、count(*)の違いは何ですか?
- 20. SELECT COUNT
- 21. Pygame - Countマウスクリック
- 22. COUNTとBY T-SQL GROUPにして、COUNT
- 23. Azure Logic Apps - Do Count Until Count&Timeoutプロパティ
- 24. laravel - > count()vs - > get() - > count()
- 25. MySQLのCOUNT(ID)とCOUNT(*)の比較
- 26. NSMutableArray Count
- 27. distinct count(*)
- 28. SELECT COUNT
- 29. インナーCOUNT(*)
- 30. SELECT COUNT
try ['datetime'](http://docs.python.org/library/datetime.html) – JBernardo
好奇心から離れて宿題がありません。 – mike