Menstrual Cycle Calculator
Predict your next period and fertile window based on cycle length and last period date.
Adet hesaplayıcı, son adet başlangıç tarihinize ve ortalama döngü uzunluğunuza göre bir sonraki adet tarihinizi, doğurgan pencerenizi ve yumurtlama gününüzü tahmin etmenize yardımcı olur. Çoğu adet döngüsü 21-35 gün sürer; sık alıntılanan ortalama 28 gündür ancak her kişinin döngüsü farklıdır.
Kullanmak için son adetin başlangıç tarihini ve ortalama döngü uzunluğunu girin. Araç, bir sonraki adet tarihinizi, tahmini yumurtlama gününüzü (28 günlük döngüde genellikle 14. gün civarı) ve doğurgan pencerenizi anında hesaplar. Birden fazla gelecek döngüyü aynı anda görebilirsiniz.
Bu araç planlama ve farkındalık için yararlı tahminler sunar; ancak döngü uzunluğu stres, hastalık, egzersiz veya hormonal değişiklikler nedeniyle farklılık gösterebilir. Doğurganlık veya doğum kontrolüne ilişkin tıbbi kararlar için bir sağlık uzmanına danışın.
Sıkça Sorulan Sorular
Kod Uygulaması
from datetime import date, timedelta
def menstrual_cycle(last_period: date, cycle_length: int = 28, period_length: int = 5) -> dict:
"""
Predict next period and fertile window based on cycle data.
Ovulation assumed at cycle_length - 14 days (luteal phase = 14 days).
"""
ovulation_day = cycle_length - 14
next_period = last_period + timedelta(days=cycle_length)
ovulation_date = last_period + timedelta(days=ovulation_day)
fertile_start = ovulation_date - timedelta(days=5)
fertile_end = ovulation_date
return {
"last_period": last_period.strftime("%Y-%m-%d"),
"next_period": next_period.strftime("%Y-%m-%d"),
"ovulation_date": ovulation_date.strftime("%Y-%m-%d"),
"fertile_window": f"{fertile_start.strftime('%Y-%m-%d')} to {fertile_end.strftime('%Y-%m-%d')}",
"period_ends": (last_period + timedelta(days=period_length - 1)).strftime("%Y-%m-%d"),
}
result = menstrual_cycle(date(2025, 3, 1), cycle_length=28, period_length=5)
print(f"Last Period : {result['last_period']}")
print(f"Period Ends : {result['period_ends']}")
print(f"Fertile Window : {result['fertile_window']}")
print(f"Ovulation : {result['ovulation_date']}")
print(f"Next Period : {result['next_period']}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.