Vertygo je napisao:
Uzmimo za primjer Blender 3D, program za 3D modeliranje koji koristi Python kao njegov scripting engine. Program je kao sto bi ti napisao "Šminka" ali je open-source i krajnje je funkcionalan !!!
Nemoj da stavljash Blender u istu kapu sa DreamWeaver-om !
Evo zastho>
- 3d dizajniranje je kompleksna stvar za razliku od pisanja HTML-a i blender je stoga mnogo ozbiljnija aplikacija
- blender NIJE shminka, oni koriste svoj gui koji pokrece (vjerovatno) glui biblioteka za OpenGL interfejs i tu nistha nije loshe, jer je sve to potrebno, i mnogo je prakticnije od klasicnog Widget interfejsa
- blender je besplatan, za razliku od MX Studija koji kostha mnogo vishe nego stho vecini ljudi koji ga koriste treba (npr, ovom liku, RAbbit-u, hej, bez uvrede, samo komentarishem onako, mozda grijeshim, ali teshko).
Evo bash sam nestho radio sa algoritmima, i ima jedan problem, naime, data su vam dva stringa i treba pronaci "najmanje edit rastojanje" jednog stringa od drugog. Ovaj algoritam se poceo koristiti siroko i naveliko od kako je genetska biologija uznapredovala. Uz pomoc ovo algoritma mogu se usporediti geni dvaju zivotinja i predpostaviti nacin na koji je neka vrsta evoluirala (a ne citati "informacije" iz biblije kao onaj degen stho ga stalo pushtaju na VIkomu i ostalim smecarskim televizijama).
Dakle,
Kod:
a= raw_input("Unesi prvi string: ")
b= raw_input("Drugi: ")
lena = len(a)
lenb = len(b)
sed = [range(0,lenb+1) for each in xrange(0, lena+1)]
for i in xrange(0,lena+1):
sed[i][0]=i
for j in xrange(1,lenb+1):
sed[0][j]=j
a=' ' + a
b=' ' + b
import copy
editops = copy.deepcopy(sed)
print "######## ALGORITAM ########"
for i in xrange(1,lena+1):
for j in xrange(1, lenb+1):
x = sed[i][j-1]+1
y = sed[i-1][j]+1
z = sed[i-1][j-1]
if a[i]!=b[j]:
z+=1
m = min(x,y,z)
sed[i][j] = m
if x == m:
editops[i][j] = "->"
elif y == m:
editops[i][j] = "|"
elif z == m:
editops[i][j] = "\"
print "###### distance : "
for line in sed:
print line
print "ukupna duzina ", sed[lena][lenb], '####'
print "###### edit operacije (ovo je obrnuti ispis, jXi matrica, samo radi uvidjaja u proces ): "
for line in editops:
print line
print "###### rekurzija radi ispisivanja pravih operacija..."
i=lena
j=lenb
operations = []
while i>0 and j>0:
field = sed[i][j]
x, y, z = sed[i][j-1], sed[i-1][j], sed[i-1][j-1]
m = min(x,y,z)
operation = ""
if x == m:
operation = "ubaci na %d. mjest znak '%s'" % (i,b[j])
field2 = x
j-=1
elif y == m:
operation = "obrishi %d. znak ('%s')" % (i,b[j])
field2 = y
i-=1
else:
operation = "zamjeni %d'. slovo ('%s') sa slovom '%s'" % (i,a[i],b[j])
field2 = z
j-=1
i-=1
if field != field2:
operations.append(operation)
operations.reverse()
for operation in operations:
print operation
raw_input( "####### POSAO JE GOTOV #######" )
Zahvaljujem se A. Mladenu na dokumentaciji i objasnjenjima !
Program mozete naci i na mom sajtu,
http://www.znalac.tk stim stho je tamo malo ruznije jer josh se nisam najbolje upraksao sa ploneom, mada ce tamo biti bolje - jednog dana

Btw, moram sve da vas obavijestim da me jedno vrijeme nece biti na internetu, jer moram malo da "smanjim", naime, telefonski racun dodje i do 50KM (mislim na net samo) josh kad se dodaju ostali pozivi --- previshe. Tako da, ako me neko hitno treba, neka poshalje pm alfu on zna moj broj telefona ...

Ma necu ja izdrzati, ipak cu dolaziti bar dva puta nedeljno, ali necu provjeravati sve postove i ostala s***a koja samo troshe vrijeme

Podforum Programiranje smatram ozbiljnim i korisnim, naravno

PS> Evo sad editujem poruku, da ispishem neke primjere, ali ne koristeci genetski kod, vec imena i zeze

programiranje
gramofon
Kod:
zamjeni 1'. slovo ('p') sa slovom 'g'
obrishi 3. znak ('r')
obrishi 4. znak ('r')
zamjeni 8'. slovo ('i') sa slovom 'o'
zamjeni 9'. slovo ('r') sa slovom 'f'
zamjeni 10'. slovo ('a') sa slovom 'o'
obrishi 12. znak ('n')
obrishi 13. znak ('n')
karla del ponte
krava prljava
Kod:
zamjeni 2'. slovo ('a') sa slovom 'r'
zamjeni 4'. slovo ('l') sa slovom 'a'
ubaci prije 5. mjesta znak 'v'
zamjeni 7'. slovo ('d') sa slovom 'p'
zamjeni 8'. slovo ('e') sa slovom 'r'
zamjeni 10'. slovo (' ') sa slovom 'j'
zamjeni 11'. slovo ('p') sa slovom 'a'
zamjeni 12'. slovo ('o') sa slovom 'v'
zamjeni 13'. slovo ('n') sa slovom 'a'
obrishi 14. znak ('a')
obrishi 15. znak ('a')
i ipak evo poente programa, dakle kad se unese neki genetski kod (samo cetiri baze, znate ono iz biologije, piramidinska, purinska etc)
abbcabbabcbcbabdbcba
babbcbabcbbcbbcbadd
Kod:
zamjeni 1'. slovo ('a') sa slovom 'b'
zamjeni 5'. slovo ('a') sa slovom 'b'
zamjeni 7'. slovo ('b') sa slovom 'a'
zamjeni 12'. slovo ('c') sa slovom 'b'
obrishi 14. znak ('b')
obrishi 16. znak ('b')
ubaci prije 20. mjesta znak 'd'
ubaci prije 20. mjesta znak 'd'
Eto toliko, heh lol brate ovaj program je shega prava
