Bir işi yapmanın birden çok yolu vardır, aslında kolayca sistem saat ve takviminden ilgili zaman ve tarih bilgisi ileri dönük çekilebiliyor.
Fakat bu tür takvim soruları genelde 7 nin katları olan modül aritmetiğini öğrenmek için kullanılır.
Bu nedenle bu kadar karar yapısına if falan gerek olmadan da kolayca çözebilirsin.
a = ['pazartesi','salı','çarşamba','perşembe','cuma','cumartesi','pazar']
for i in range(7000):
print((i+1),a[i%7])
a içinde pazartesi sıfırıncı sırada.
Bu nedenle i de sıfırdan başladığı için modülde her seferinde 7 de sıfırıncı sıradaki pazartesi görünür.
For döngüsünde, i ise hep sıfırdan başlar, ama listelerken ilk sırada 0 görmek istemzsiniz bu neden i yi yazdırırken +1 ile 1 den başlatmış oluyoruz.
Kodu daha da kısaltabilirsiniz.
Dediğim gibi yanlış diye bir şey yok, her yol bir çözümdür. Sadece modül operatörü % kullanarak çözülebilsin diye bu tür ay yıl gün soruları verilir aslında. Altını çizmek istedim.
İlave yapayım. Madem sistem tarihi alıp takvim oluşturmaktan da bahsettim.
Onunla ilgili bir kod da ilave edeyim.
import calendar
print ("2022 Takvimi : ")
print (calendar.calendar(2022, 2, 1, 6))
Kaynak:
Python | Calendar Module - GeeksforGeeks
calendar — General calendar-related functions — Python 3.10.2 documentation