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


Öne çıkan mesajlar

Mesaj tarihi:
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?
Mesaj tarihi:
Seele said:

printleri döngü icinde mi yapiyorsun yoksa döngüden sonrami.

döngüden sonra.
istediğim, 0'dan 10'a kadar olan tüm xleri d1,d2 hangisindeyse işte yerine koyması ve sonucun f(x)'deki değerini söylemesi(burdaki f(x), sonucun mod5'ini alsın istedim).
Mesaj tarihi:
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.
Mesaj tarihi:
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
Mesaj tarihi:
(d1),(d2),.. leri döngüden sonra yazarsam şöyle bir hata veriyor;

"There is an error in your program:
unindent does not match any outer indentation level"
python'da yeniyim bu arada
Mesaj tarihi:
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
Mesaj tarihi:
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
Mesaj tarihi:
ş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.
Mesaj tarihi:
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
Mesaj tarihi:
yok yani tüm while ı commente al ( sil ya da ).

sadece bir tane if koy o da şöle olsun

if x=1 nası yazılıosa

d1 = x hedeleri

sonra gidip programı çalıştırınca x e 1 değerini ver bi dene bakam,

bide http://stackoverflow.com/ bu site iyidir abi
Mesaj tarihi:
(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.
Mesaj tarihi:
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
Mesaj tarihi:
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

×
×
  • Yeni Oluştur...