def m(i):
result=0
for i in range(1,i):
if(i%2==0):
result-=(1/(2*i-1))
else:
result+=(1/(2*i-1))
return 4*result
print(m(101))
ekran çıktısı gibi olmuyor sadece yaklaşan pi değeri yazıyor bu kodla
Ben şu şekilde bir yol izledim, ama değerler sizin paylaştığınız değerlerden biraz farklı.
def m(i):
result = 0
for j in range(i):
if i == 1:
result += ((-1) ** (1 + 1)) / ((2 * 1) - 1)
else:
if j != 0:
result += ((-1) ** (j + 1)) / ((2 * j) - 1)
return 4 * result
print("i", " " * 14, "m(i)\n")
for k in range(1000):
if k != 0:
if k == 1:
print(k, " " * 7, m(k))
elif (k - 1) % 100 == 0:
print(k, " " * 5, m(k))
# Ekran Çıktısı:
i m(i)
1 4.0
101 3.1315929035585537
201 3.136592684838816
301 3.1382593295155914
401 3.1390926574960143
501 3.139592655589785
601 3.139925988080531
701 3.1401640828900845
801 3.1403426540780757
901 3.140481542821618
hmm teşşekkürler ben halletmeye çalışıyım gerisini , bendede benzeri çıktı ama snn kod daha düzgün hizalı
Az önce pi’ye yaklaşmak için i değerini 100000 olarak aldım ve i=99901 durumunda m(i) 3.1415826435797087 olarak hesaplandı. Yani sayı giderek pi’ye yaklaşıyor ama paylaştığınız metindeki gibi i=901 durumundaki sonucu elde etmek için i değerini daha da arttırmak gerekiyor.
anladım teşekkür edrim . dediğiniz mantıklı metinde hata olablr. m(i) tam 4.0 ın üstünde yapabilirmiyiz peki
Biraz daha açabilir misiniz?
Paylaştığım kodlarda i=101’den sonra bir artış söz konusu. Yani değer pi’ye artarak yaklaşıyor. Sizin paylaştığınız ekran görüntüsünde ise i=101’den sonra bir azalış söz konusu. Yani değer pi’ye azalarak yaklaşıyor.
işaretlediğim m(i) 4.0000 ın sütununda hizalıya onu demek istedim. sizinkinde biraz sağa kayma vardı,ondan dedim
Hmmm, evet o sorun değil. 15. satırdaki şu kodları:
print("i", " " * 14, "m(i)\n")
aşağıdaki gibi değiştirin, tamamdır.
print("i", " " * 7, "m(i)\n")
eyvallah teşekkür edrm
Rica ederim, bunlar ödev mi?
kendi topladığım sorular kendimi geliştirmeye çalışıyorum, yeni başladımda pythona
Güzel. Şayet ödev deseydiniz, hiç de iyi bir şey yapmadığımı söyleyecektim.