Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Python-denklem tanımlama ve


pontipati

Öne çıkan mesajlar

Python'da 10 tane falan denklem yazıp, bunları d1,d2,d3 diye tanımlamak istiyorum.sonra bir f(x) fonksiyonu ile bu denklemlerin x=0,1,,10'a kadar olan sonuçlarını, f(x)'leri ile beraber almak istiyorum.şöyle yaptım;
def f(q):
print q % 5
x=0
while x<10:
(d1)=2*x+5
(d2)=5*x-4
(d3)=5*x*x+4*x+1
(d4)=7*x*x+4*x+5
(d5)=2*x*x*x+9*x+1
...
(d10)=9*x*x*...
x=x+1
print x,(d1,f(d1))
print x,(d2,f(d2))
....
print x,(d10,f(d10))

ama istediğim gibi sonuç alamıyorum, durmadan
1,1
2,2
3,3
.... yazdırıyor.

Bunu istediğim gibi düzeltirim?Umarım istediğimi anlatabilmişimdir
not:tüm sayfa geneli boşlukların, özellikle print kısmında, nasıl olacağını belirtirseniz sevinirim.
ayrıca (d1)=5*x+7 ile d1=5*x+7 arasında bir fark var mıdır,
print (d1, f(d1)) yazsam, parantez olmadığından dolayı sorun olur mu?
Link to comment
Sosyal ağlarda paylaş

Seele said:

Python'dan anlamam ama sonucu, döngü icinde print etmezsen veri kaybolmaz mi ? ayrica döngü disi variable zaten okunmaz ki(en azindan bir cok dilde öyle) yoksa ben mi seni yanlis anladim.

döndüden önce yazdım diyelim,
x=0
(d1)=5*x+7
(d2)=..
..
while x<15:
x=x+1
x,d1,f(d1)

diyorum.deneme amaçlı sadece d1'i yazdım.15 sonucun hepsi x=0 için çıkıyor;
0,7,1
0,7,1
...
0,7,1
Link to comment
Sosyal ağlarda paylaş

Suark said:

print x,(d1,f(d1))
şu tam olarak ne demek?

f(d1) de x yerinde d1 mi koyuyorsun?


evet, mesela x=5 için d1=29 çıksın.burdaki f(d1),f(29) demek yani denklemin sonucunu bana tanımladığım f(x) fonksiyonunda versin demek.Ben de f(x)'i x'in mod5'te değerini ver diye tanımladığımdan şöyle çıktı almak istiyorum
x, (d1), f(d1)
5, 29 , 4
Link to comment
Sosyal ağlarda paylaş

Suark said:

e peki bunlar nie parantez içinde :p
daha fazla sorun yaratırım eheh, ya hakkateen madem ayrı şeyler neden x,d1,f(d1) şeklinde yazılmadı?


aslında ben de pek emin değilim işte, üstte (d1)=.. yazdım, altta print x,d1,,, dedim.2 türlü de hata aldığım için ben de bilmiyorum parantezler önemli mi değil mi diye
Link to comment
Sosyal ağlarda paylaş

Suark said:

şimdi orda bi sakatlık var sanki abi,

f(d1) dersek x yerine d1 koymuş oluyoruz fonksiyonda. f(x) yapsak ya onu

bunları bide while ı kaldırıp, if'li dener misin? bitane if koy sadece o değeri ver bi bak bakalım oluyor mu, oluyorsa loopta bi yerde hata var demektir.

while yerine if koydum gene hata verdi.if yapamazdı zaten sanki
Link to comment
Sosyal ağlarda paylaş

(d1)=2*x+5 zaten f(d1)

sen X yerine bir veri atiyorsun diyelim ki 2
d1 = 2*2+5
d1 = 9 olur ettiginde sanirim burda mantik hatasi var.

d1,d2,d3,d4 = 0
x = 0
while(x<10)
{
d1= 2*x +5
print ("x :", x , "d1 : ", d1)
}
ciktisi söyler olur
x : 0 d1 : 5
x : 1 d1 : 7
x : 2 d1 : 9
...

gibi bu arada Python syntax bilmedigim icin sen uyarlarsin.
Link to comment
Sosyal ağlarda paylaş

pontipati said:

Python'da 10 tane falan denklem yazıp, bunları d1,d2,d3 diye tanımlamak istiyorum.sonra bir f(x) fonksiyonu ile bu denklemlerin x=0,1,,10'a kadar olan sonuçlarını, f(x)'leri ile beraber almak istiyorum.şöyle yaptım;
def f(q):
print q % 5
x=0
while x<10:
(d1)=2*x+5
(d2)=5*x-4
(d3)=5*x*x+4*x+1
(d4)=7*x*x+4*x+5
(d5)=2*x*x*x+9*x+1
...
(d10)=9*x*x*...
x=x+1
print x,(d1,f(d1))
print x,(d2,f(d2))
....
print x,(d10,f(d10))

ama istediğim gibi sonuç alamıyorum, durmadan
1,1
2,2
3,3
.... yazdırıyor.

Bunu istediğim gibi düzeltirim?Umarım istediğimi anlatabilmişimdir
not:tüm sayfa geneli boşlukların, özellikle print kısmında, nasıl olacağını belirtirseniz sevinirim.
ayrıca (d1)=5*x+7 ile d1=5*x+7 arasında bir fark var mıdır,
print (d1, f(d1)) yazsam, parantez olmadığından dolayı sorun olur mu?



def d1(p1):
return 2*p1+5
def d2(p1):
return 5*p1-4
...

def f():
for i in range(10):
print str(i), str(d1(i))
print str(i), str(d2(i))
...


#variable #function #parameter #google
Link to comment
Sosyal ağlarda paylaş

Yok ayrı olsun istemiyorum diyorsan.


def f():
d1='2*x+5'
d2='5*x-4'
for i in range(10):
x = i
print str(x), str(eval(d1))
print str(x), str(eval(d2))


Hatta işi iyice array'lere döküp suyunu çıkarabilirsin. While'ı seviyorsun sanırım... Belkide requirement budur, bilmiyorum..


def f():
functions = ['2*x+5', '5*x-4']
i = 0
while(i<10):
x = i
for d in functions:
print str(x), d, str(eval(d))
i += 1

Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...