» »

[Python] Pomoč pri računanju Pi-ja

[Python] Pomoč pri računanju Pi-ja

A120 ::

Zanima me kaj delam narobe pri racunanju pi-ja? in ali je vsaj pristop pravi, ker sem sam nekaj caral s formulo in izpeljevanjem ker sem pac popolen zacetnik? :D


print ("Program izračuna število pi.")
pi= float
i = int
n = int
for i in range (1,100000):
    for n in range (0,100000):
        pi= 4*(1+(1/(2*i-1))- (2(1/(3+2*n))))
print ("Število pi je: ", pi)
        
  • spremenil: bluefish ()

A120 ::

ali je tole:
print ("Program izračuna število pi.")
pi= float
i = int
n = i+1
for i in range (1,100000):
     pi= 4*(1+(1/(2*i-1))- (2(1/(3+n))))
print ("Število pi je", pi)
        
kaj bolj prav? ceprav se vedno nevem kje je napaka :(

tx-z ::

tko čist na pamet bi dal jst namest pi=4*....bi dal pi+=4* ..
tx-z

A120 ::

kaj pa pomeni pi+?

tx-z ::

recimo
for i in range(1,3):
rezultat=i*2

bo šlo
rezultat=1*2=2
..
rezultat=2*2=4
..
rezultat=3*2=6
..

Ti pa najverjetneje hočeš tole:

for i in range(1,3):
rezultat+=i*2

kar ti da
rezultat=0;
rezultat=0 + 1*2=2
..
rezultat=2 + 2*2=2+4=6
..
rezultat=6 + 3*2=6+6=12
..

Ne vem pa formule za izračun pi zdele tko da lahko je še kej narobe

pi+=4*neki pomeni isto kot pi=pi+4*neki ..torej ohraniš prejšno vrednost in prišteješ novo
tx-z

Zgodovina sprememb…

  • spremenilo: tx-z ()

madzuro9 ::

zdj ti v vsakem koraku zanke na novo zračunaš pi, će je pa pi +=... pol pa v vsakem koraku prišteješ vsoti prejšnjih vrednosti vrednost trenutnega koraka

zdj tega zaporedja k ga ti nucas ne poznam na pamet, ampak to ti bo zracunal pi (sam ful pocas)
	int i;
	double pi = 0;
	int n = 1;
	for(i = 1; i < 10000000; i+=2){
		pi += (4/(double)i)*n;
		n = -1 * n;
	}
	printf("\n %f \n", pi);

A120 ::

to je v pythonu napisano? drugace pa hvala:)

mgermo ::

java

A120 ::

jas sem ucim v pythonu. bi mi lahko kdo povedal ce je vsaj pristop pravi?

madzuro9 ::

mgermo je izjavil:

java

c, pr javi ne rabiš že pred forom pisat int i pa tega dreka

A120 je izjavil:

jas sem ucim v pythonu. bi mi lahko kdo povedal ce je vsaj pristop pravi?

zihr moras v vsakem koraku pristet k prejsnjem al pa mnozit s prejsnjim, pokazi od kje si dobu to formulo za racunat

A120 ::

madzuro9 jas rabim v pythonu. in tudi v pythonu sem napisal. zato nevem kdo mi je spremenil naslov!!!??? to formulo sem "izpeljal" iz spodnje formule kako se izračuna pi, e? ker drugace pac nisem znal. sem popolen zacetnik

Zgodovina sprememb…

  • spremenil: A120 ()

tx-z ::

Predvidevam da je to to:

tx-z

madzuro9 ::

tist moje prepis v python in bos mel tocno to zaporedje k ga je napisu zigam

so tud boljsa zaporedja, ce se ti da gledat po wikipedii

Zgodovina sprememb…

  • spremenilo: madzuro9 ()

A120 ::

zigam ja to sem uporabil. to se mi je zdelo se najlazje.

madzuro9 sem poizkusil a ne dela. invalid syntax in obarva prvi i rdece

Zgodovina sprememb…

  • spremenil: A120 ()

Pimoz ::

print 'Program izračuna število pi.'
n = 1
pi = 0
for i in range (1,100000,2):
    pi += (float(4)/i)*n
    n *= -1
print 'Število pi je {0:.2f}'.format(pi)


;)
st.koda python pa ne gre ali kaj? :/

Zgodovina sprememb…

  • spremenilo: Pimoz ()

ragezor ::

sum(4.0/i*(-1)**j for j, i in enumerate(range(1,100000,2)))


nisem si mogel pomagati

Spura ::

Ce prov razumem ti potenciras -1 z 1, 3, 5, 7 etc... a ne bo potem skos -1 faktor?

galu ::

pi=0

for loop
pi=pi+(4/(2n-1))*(-1)^(n-1)


Iteriraš skoz "n" od 1 do poljubnega števila.
Tako to gre.

ragezor ::

Spura je izjavil:

Ce prov razumem ti potenciras -1 z 1, 3, 5, 7 etc... a ne bo potem skos -1 faktor?


enumerate ti da indeks in cifro iz range() tako da je i potem iz ranga in j indeks. narobe sem poimenoval spremenljivke.

dasf ::

sum(4.0/(2*i+1)*(-1)**(i%2) for i in range(10000))


Še malo krajša verzija:)

@OP: Preberi si nek osnovni python tutorial (npr. http://docs.python.org/3/).

Spura ::

ragezor je izjavil:

Spura je izjavil:

Ce prov razumem ti potenciras -1 z 1, 3, 5, 7 etc... a ne bo potem skos -1 faktor?


enumerate ti da indeks in cifro iz range() tako da je i potem iz ranga in j indeks. narobe sem poimenoval spremenljivke.

Aha, ne poznam pythona, sem mislil da oba dobita isto vrednost.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Python primer async/await

Oddelek: Programiranje
182117 (1223) jype
»

[python] project euler problem

Oddelek: Programiranje
151271 (823) Spura
»

Python - pomoč (strani: 1 2 3 )

Oddelek: Programiranje
10317925 (8673) black ice
»

[Python] Domači nalogi

Oddelek: Programiranje
333020 (1910) ragezor
»

[Python] Polja, matrike

Oddelek: Programiranje
51769 (1661) OwcA

Več podobnih tem