Osnove programiranja u Pythonu

poruka: 95
|
čitano: 74.225
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
offline
RE: Osnove programiranja u Pythonu
MOKONTO kaže...

komarac tvoj nachin je uspeshno odradjen ali zashto onda vezba:

ime=raw_input("ime")

prez=raw_input("prezime")

god=input("koliko imas godina?")

print"Ti si",ime, prez,"imas", god,"godina"

 

nece da radi kako treba a tvoj nachin je mnogo jednostavniji bez raw_input komandi 

Kada je s raw_inputom onda ti moraš upisati to što će ispisati na ekran, a ovako ispiše ono što si mu ti zadao.

 

Prouči malo raw_input i input naredbu i savladaj osnove varijabli...

Software is like sex... it's better when it's free (Linus Torvalds)
16 godina
neaktivan
offline
Osnove programiranja u Pythonu

S koje ti to stranice učiš? o_O

 
0 0 hvala 0
14 godina
neaktivan
offline
Osnove programiranja u Pythonu

izgleda da nisam bash skroz shvatio input nardbe moracu malo dubljue da ih prouchim, a sa koje stranice uchim hm bash ne razuemem pitanje ako mislish kojim redom onda je odgovor od pochetka nisam nishta presskochio i uchim sam niko mi ne pomaze ni ne objasnjava :D

jedino vi ovde na forumu kad vas pittam i hvala vam za to :D

 
0 0 hvala 0
15 godina
neaktivan
offline
RE: Osnove programiranja u Pythonu

Meni takoder tvoj program radi kako bi trebao.

 

ime=raw_input("Sima")
prez=raw_input("Simic")
god=input("Koliko imas godina?")
print "Ti si" ,ime, prez,"imas", god,"godina"

 

Input (i raw_input) ispisuje tekst korisniku prije unosenja podataka. Zasto ispisujes "Sima" i "Simic"?

To je zamisljeno zato da bi se koristilo nesto ovako:

 

ime=raw_input("Napisi svoje ime: ")
prez=raw_input("Napisi svoje prezime: ")

Takoder primjeti da sam ubacio razmak na kraj, zato sto bez tog razmaka nema razmaka izmedu onoga sto je input() ispisao i onoga sto korisnik upisuje, pa izgleda nepregledno.

Isto tako, input ne mora ispisivati bas nikakav tekst ako ne zelis, pa je i ovo je posve ispravno:

 

ime=raw_input()
prez=raw_input()

 

Samo sto u tom slucaju korisniku nece nista biti ispisano na ekran, nego ce se samo pojaviti kursor za unos podataka, sto bi moglo biti zbunjujuce ako korisnik ne zna sto se od njega ocekuje da napise.

 

A sada o razlici izmedu raw_input() i input(). Obje fukncije u osnovi rade istu stvar, s jednom iznimkom. raw_input() tretira ono sto je korisnik upisao kao tekst ili broj, dok input() izvrsava i standardne python izraze.

recimo:

 

broj=raw_input("Unesi neki broj ")
print broj

 

Ako korisnik unese 5+3, varijabla 'broj' ce sadrzavati doslovce tekst "5+3"

Kod funkcije input to ide funkcionira drukcije:

 

broj=input("Unesi neki broj ")
print broj

 

Ako korisnik ovdje unese 5+3, varijabla 'broj' ce biti 8 tj. Python ce automatski zbrojiti 5+3 i rezultat staviti u varijablu broj.

 

Pathogenic fundamentals clearly indicate that homogenous populations are most vulnerable.
Poruka je uređivana zadnji put ned 19.9.2010 21:29 (rustweaver).
14 godina
neaktivan
offline
Osnove programiranja u Pythonu

e tek sada sam uspeo posle ovog tvog objasnjenja :D sad cu dobro da navezbam pa idemo dalje :D evo chisto da pokazem

ime=raw_input("Unesi svoje ime: ")

Unesi svoje ime: Sima

prez=raw_input("Unesi svoje prezime: ")

Unesi svoje prezime: Simic

god=input("Koliko imas godina?")

Koliko imas godina?26

print "Ti si" ,ime, prez,"imas", god,"godina"

I resenjeje:

Ti si Sima Simic imas 26 godina

 
0 0 hvala 0
14 godina
neaktivan
offline
Osnove programiranja u Pythonu

e ljudi zashto moram da unosim komande za svaku varijablu npr. raw_input i input da bih na kraju dobio rezultat:

Ti si Sima Simic imas 26 godina

kad to moze i jednostavnije bez puno kucanja na primer ovako:

print "Ti si", "Sima", "Simic", "imas" 26,"godina" i dobijem isiti rezultat sa mnogo manje kucanje

Ti si Sima Simic imas 26 godina

hm? ili je taj duzi put mozda namenjen da bi se savladale raw_input i input komande?

 
0 0 hvala 0
14 godina
neaktivan
offline
Osnove programiranja u Pythonu

i josh neshto poshto ste vi iskusniji u ovome mozete li mi reci ja vec 3 dan uchim ovo mozda otprilike sat i po do dva dnevno

i naosnovu onog shto sam vam prikazao da sam nauchio s obzirom da uchim sam uz vashu pomoc i sugestiju naravno da li napredujem sporo brzo ili u normali chisto me interesuje onako s obzirom da ja nisam josh ukljuchio moj mozak u gas nego pstepeno krecem tek se zalecem uskoro cu mnogo vishe vremena provoditi i uchiti programirati :D P.S. Svidelo mi se ;D

 
0 0 hvala 0
15 godina
neaktivan
offline
RE: Osnove programiranja u Pythonu
MOKONTO kaže...

e ljudi zashto moram da unosim komande za svaku varijablu npr. raw_input i input da bih na kraju dobio rezultat:

Ti si Sima Simic imas 26 godina

kad to moze i jednostavnije bez puno kucanja na primer ovako:

print "Ti si", "Sima", "Simic", "imas" 26,"godina" i dobijem isiti rezultat sa mnogo manje kucanje

Ti si Sima Simic imas 26 godina

hm? ili je taj duzi put mozda namenjen da bi se savladale raw_input i input komande?

Ti si krivo to shvatio. Ako moras samo ispisati tekst zasto bi onda koristio input()?

Ne trebaju ti toliki zarezi ako ne koristis varijable, tj mozes sve u komadu ispisati:

 

print "Ti si Sima Simic imas 26 godina"

 

input() i raw_input() ti sluze za situacije kada ti korisnik treba upisati neke podatke. Npr. ne zove se svatko Sima Simic, i ako zelis ime korisnika on ce ti ga morati napisati...

Ili zamisli kalkulator koji uvijek rijesava isti zadatak sa brojevima koje mu je programer upisao, uopce nista ne pita korisnika, to ne bi bio bas koristan kalkulator zar ne?

Pathogenic fundamentals clearly indicate that homogenous populations are most vulnerable.
15 godina
neaktivan
offline
RE: Osnove programiranja u Pythonu
MOKONTO kaže...

i josh neshto poshto ste vi iskusniji u ovome mozete li mi reci ja vec 3 dan uchim ovo mozda otprilike sat i po do dva dnevno

i naosnovu onog shto sam vam prikazao da sam nauchio s obzirom da uchim sam uz vashu pomoc i sugestiju naravno da li napredujem sporo brzo ili u normali chisto me interesuje onako s obzirom da ja nisam josh ukljuchio moj mozak u gas nego pstepeno krecem tek se zalecem uskoro cu mnogo vishe vremena provoditi i uchiti programirati :D P.S. Svidelo mi se ;D

Uci onim tempom koji ti odgovara, ovo nije natjecanje tko ce brze. Prije ili poslije ces nauciti, ali vazno je da ides dovoljno sporim tempom da sve uspijes pohvatati. Isto tako Python sadrzi ogroman broj funkcija za rad sa svime i svacime, ne ocekuj da ces ih sve nauciti (vjerojatno ces samo manji dio koji cesto koristis upamtiti), zato ti sluzi dokumentacija, da si mozes brzo u njoj naci funkciju koja ti treba, i kako se ona koristi...

Pathogenic fundamentals clearly indicate that homogenous populations are most vulnerable.
14 godina
neaktivan
offline
Osnove programiranja u Pythonu

skontao sam hvala ti :D

 
0 0 hvala 0
14 godina
neaktivan
offline
Osnove programiranja u Pythonu

ponekad sam nestrpljiv pa trchim pred rudu :P

 
0 0 hvala 0
15 godina
neaktivan
offline
RE: Osnove programiranja u Pythonu
MOKONTO kaže...

skontao sam hvala ti :D

sa input() komandom u ovom ili onom obliku se susreces svaki dan u radu sa racunalom, a da ni ne primjecujes. Evo ti najbanalniji primjer: Address bar (ono gdje upisujes internet adresu) u browseru, to ti je isto u osnovi najobicniji input(), samo ulijepsan kroz graficko sucelje windowsa...

Pathogenic fundamentals clearly indicate that homogenous populations are most vulnerable.
Poruka je uređivana zadnji put pon 20.9.2010 22:10 (rustweaver).
14 godina
neaktivan
offline
Osnove programiranja u Pythonu

hocesh da kazesh da se tu koritsi funkcja za unoshenje varijabli u ovom sluchaju adresa neka i on automatski izbacuje tu adresu

preko funkcije input? ako sam razumeo dobro

 
0 0 hvala 0
15 godina
neaktivan
offline
RE: Osnove programiranja u Pythonu
MOKONTO kaže...

hocesh da kazesh da se tu koritsi funkcja za unoshenje varijabli u ovom sluchaju adresa neka i on automatski izbacuje tu adresu

preko funkcije input? ako sam razumeo dobro

Da, bas to. Samo sto je ovaj input u browseru puno ulijepsan, a ovaj koji ti koristis je sirov, ali oba u osnovi rade potpuno istu stvar. S vremenom ces nauciti i kako koristiti windows za takav unos podataka (dosta je kompliciranije, ali kad dodes na tu razinu nece ti biti problem).

Pathogenic fundamentals clearly indicate that homogenous populations are most vulnerable.
14 godina
neaktivan
offline
Osnove programiranja u Pythonu

sve u svemu hvala ti na savetima,D stvarno, za danas sam se umorio nemam josh kondicije sedeti predugo i uchiti ispo sma iz shtosa kad

sam napustio fax,puno si mi pomogao i ti i ostali, i zaista cenim to, chujemo se chim naletim na sledeci problem :P :D

 
0 0 hvala 0
15 godina
neaktivan
offline
Osnove programiranja u Pythonu

Evo da malo razbudim temu. Jeste znali gdje se sve koristi Python? NASA, Google, Youtube, Gmail,  EVE Online, Firaxis Games (Civilization...)...  Može se koristiti u mnoge svrhe. Mail, baze podataka,  game development, mreže, web, serveri, jako brz razvoj aplikacija... Python je jedan jako dobar jezik, po meni među najboljima jer je jako "elastičan" i što je najbolje super pogodan je za učenje. Čak ga nazivaju univerzalnim jezikom za učenje. Trebao bi se u bliže vrijeme uvesti i u škole te u njemu učiti programirati što neke škole već i prakticiraju. Također ima vrlo visok postotak integrabilnosti, radi na skoro svim platformama i ono najbitnije - potpuno je besplatan.

 

www.python.org

Slavonija u ♥ ;;;---;;; http://squareroot2.isgreat.org/squareroot2.html
Poruka je uređivana zadnji put sri 13.10.2010 16:13 (nidjo123).
Moj PC  
0 0 hvala 0
15 godina
offline
Osnove programiranja u Pythonu

Ovako,imam zadatak da u pythonu napišem program koji je ustvari natjecanje iz tablice množenja.Jedan upisuje 2 faktora,dok onda drugi upisuje produkt ta dva faktora,onda zamjenjuju uloge.Nakon prvog kruga program ispisuje rezultat.Igra se sve dok razlika u rezultatu između  korisnika nije 2 boda.Nakraju program treba ispisati čestitke pobjedniku.Počeo sam nešto ali ne ide mi ta petlja i ispis rezultata.Znali netko kako da napišem taj program?

Moj PC  
0 0 hvala 0
10 godina
neaktivan
offline
Re: Osnove programiranja u Pythonu

Dobar tutorial nazalost izgleda da nema najavljenog nastavka...ima li negdje na netu nesto slicno na nasem jeziku jos sam pocetnik pa mi je dosta lakse na nasem uciti nego na eng.

12 godina
neaktivan
offline
Re: Osnove programiranja u Pythonu

Ako se u životu misliš baviti programiranjem radije prvo savladaj engleski.

17 godina
offline
Re: Osnove programiranja u Pythonu
Bobobo-bo Bo-bobo kaže...

Ako se u životu misliš baviti programiranjem radije prvo savladaj engleski.

Ako se misli icim bavit MORA znat engleski.

Kolicina informacija i materijala dostupna na engleskom premasuje hrvatsku literaturu barem 1000-10000 puta.

Ne znat engleski u danasnjem dobu je stavit si kamen oko vrata i htjet letjet.

 

Linux, Arch Linux. Dvorak keyboard layout.
10 godina
neaktivan
offline
Osnove programiranja u Pythonu

Hvala na savjetima nije da neznam bekniti engleski ali mi nije ni jaca strana narocito gramatika i pisanje al nelose razmijem ali mi je isto teze neke fraze pokupiti na eng tutorijalu.Zato sad kao apsolutni pocetnik bi radije se malo zagirjao na nasem jeziku.

Moze neki savjet odakle bi mogao uciti kao sto ima codecadmey za programiranje :D trenutno prevodim na google translate svaku rijec koja mi je nejasna ali cjeli tekst je gotovo nemoguce prevesti pun je greska i nelogicnosti

Moj PC  
0 0 hvala 0
11 godina
neaktivan
offline
Re: Osnove programiranja u Pythonu
dasan kaže...

Hvala na savjetima nije da neznam bekniti engleski ali mi nije ni jaca strana narocito gramatika i pisanje al nelose razmijem ali mi je isto teze neke fraze pokupiti na eng tutorijalu.Zato sad kao apsolutni pocetnik bi radije se malo zagirjao na nasem jeziku.

Moze neki savjet odakle bi mogao uciti kao sto ima codecadmey za programiranje :D trenutno prevodim na google translate svaku rijec koja mi je nejasna ali cjeli tekst je gotovo nemoguce prevesti pun je greska i nelogicnosti

Tesko ces programirati kad ne znas engleski jer su programski jezici na engleskom, bolje ti kreni uciti engleski jezik a onda neki programski.

You dont make 500 million friends without a few enemies.
10 godina
neaktivan
offline
Re: Osnove programiranja u Pythonu

Nije da ga neznam ali mogao bi ga pojacati,moze neki savjet kako, gdje ? ima li negdje na webu neki tecaj engleskog za pocetnike ili slicno

10 godina
neaktivan
offline
Re: Osnove programiranja u Pythonu

#TEXT ADVENTURE GAME

def menu(list, question):
    for entry in list:
        print 1 + list.index(entry),
        print ") " + entry

    return input(question) - 1
items = ["pot plant","painting","vase","lampshade","shoe","door"]
keylocation = 2

keyfound = 0

loop = 1

print "Last night you went to sleep in the comfort of your own home."
print "Now, you find yourself locked in a room. You don't know how"
print "you got there, or what time it is. In the room you can see"
print len(items), "things:"
for x in items:
    print x
print ""
print "The door is locked. Could there be a key somewhere?"

def inspect(choice,location):
    if choice == location:
       print ""
       print "You found a key!"
       print ""
       return 1
    else:
       print ""
       print "Nothing of interest here."
       print ""
       return 0
while loop == 1:
    keyfound = inspect(menu(items,"What do you want to inspect? "),keylocation)
    if keyfound == 1:
       print "You put the key in the lock of the door, and turn it. It opens!"      

       loop = 0

print "Light floods into the room, \
as you open the door to your freedom."

Pozdrav moze li mi neko objasniti detaljno ovaj kod.Neke jednostavnije djelove razumijem a neki mi nikako nisu jasni.Unaprijed hvala

12 godina
neaktivan
offline
Re: Osnove programiranja u Pythonu

Program je jedonstavna tesktualna avantura. Igrač se nalazi u zaključanoj sobi. Ponuđena mu je lista predmeta i treba otkriti iza kojeg predmeta je sakriven ključ.

 

Ovo su osnovne postavke igre - u sobi se nalazi 6 stvari, a ključ je element liste s indeksom 2. Kako Python elemente liste broji od nule ("pot plant" je nulti element, "painting" prvi, "vase" drugi itd.) ključ je ispod "vase".

items = ["pot plant","painting","vase","lampshade","shoe","door"]
keylocation = 2

 

Ova funkcija ispisuje listu stvari, traži od igrača da upisom rednog broja odabere jednu od njih i vraća indeks odabrane stvari:

def menu(list, question):
    for entry in list:
        print 1 + list.index(entry),
        print ") " + entry

    return input(question) - 1

 

početne postavke programa - ključ još nije pronađen i programska petlja za traženje ključa (opisana malo niže) je aktivna:

keyfound = 0
loop = 1

 

Početni opis situacije:

print "Last night you went to sleep in the comfort of your own home."
print "Now, you find yourself locked in a room. You don't know how"
print "you got there, or what time it is. In the room you can see"
print len(items), "things:"
for x in items:
    print x
print ""
print "The door is locked. Could there be a key somewhere?"

 

Ova funkcija uspoređuje igračev odabir predmeta s lokacijom ključa. Ako su jednaki funkcija vraća broj 1, inače vraća broj 0:

def inspect(choice,location):
    if choice == location:
       print ""
       print "You found a key!"
       print ""
       return 1
    else:
       print ""
       print "Nothing of interest here."
       print ""
       return 0

 

Glavna programska petlja koja se vrti dok igrač ne pogodi lokaciju ključa:

while loop == 1:
    keyfound = inspect(menu(items,"What do you want to inspect? "),keylocation)
    if keyfound == 1:
       print "You put the key in the lock of the door, and turn it. It opens!"
       loop = 0

 

Nakon pogođene lokacije program izlazi iz petlje i ispisuje ovu poruku:

print "Light floods into the room, \
as you open the door to your freedom."

10 godina
neaktivan
offline
Osnove programiranja u Pythonu

U pythonu cesto nailazim da je nesto =0 ili =1...ali ta mi osnova nije najjasnija,ja to zamisljam kao da je program muzicki cd i da je opcija 0 stop i povratak na pocetak a opcija 1nastavak..da li svaki program mora imati 1i0(ili ako bi bilo samo da je recimo loop=0 nebi se ni pokrenio a loop=1 stalno bi se vrtio bez mogucnosti da se ista unese.

 

Dalje mi nije jasna ova naredba:ok tekst ide ali dalje cemu ovo len(items),"things":i onda petlja for i x in itemes print x (i sta je x mislim odkud sad on)

print "Last night you went to sleep in the comfort of your own home."
print "Now, you find yourself locked in a room. You don't know how"
print "you got there, or what time it is. In the room you can see"
print len(items), "things:"
for x in items:
    print x
print ""
print "The door is locked. Could there be a key somewhere?"

 

def menu(list, question):
    for entry in list:
        print 1 + list.index(entry),
        print ") " + entry

    return input(question) - 1

 

ovo donekle znaci prvo definiramo meni u koji ulazi lista i pitanje

za (petlja ) unos  u listu printamo unos u listi tj njen indeks recimo 2 (samo zasto print 1 ? ) i na kraju prazno mjesto i unos probao sam i bez jer mi nije jasno cemu ponavljanje ova dva zadnja print redka i potpuno je isto ako jedan fali.

return input(question) - 1 valjda znaci da program nastavlja (posto nije 0 mojom logikom) i ide dalje na pitanja tj upit,odabir

Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: Osnove programiranja u Pythonu

Ne mora svaki program imati takvu strukturu. Umjesto brojeva 0(za prekid)/1(za nastavak) mogu se koristiti vrijednosti False/True. Ovaj program bi čak bio bolji da izbaci varijablu loop i koristi beskonačnu petlju iz koje se izlazi naredbom break ako igrač pronađe ključ:

while True:
    keyfound = inspect(menu(items,"What do you want to inspect? "),keylocation)
    if keyfound == 1:
       print "You put the key in the lock of the door, and turn it. It opens!"
       break

 

 

Izraz len(items) i petlja se koriste za ispis stvari koje igrač vidi. Taj se tekst mogao (kao i opis sobe) nakucati ručno, ali na ovaj način tekst ne treba mijenjati ako se lista predmeta promijeni. Npr. ako dodaš škrinju:

items = ["pot plant","painting","vase","lampshade","shoe","door","chest"]

i pokreneš program vidjet ćeš da sve korektno radi bez dodatnih izmjena.

For petlja u Pythonu ima oblik for <varijabla za iteraciju> in <sekvenca>. Ta varijabla za iteraciju se ne mora zvati x i mogla se zvati npr. item:

for item in items:
    print item

 

 

Funkcija menu ne ispisuje se broj 1, nego indeks elementa uvećan za 1 (1 + list.index(entry)). Operator plus između dva broja zbraja (1 + 2 = 3), operator plus između dva stringa ulančava ("A" + "B" = "AB").

Taj kod rješava problem što Python indekse broji od nule (indeks "pot plant" je nula, "painting" jedan, "vase" dva, itd.), a ljudi očekuju da redni brojevi kreću od jedan. Ako izbaciš ovo petljanje i napišeš ovako:

def menu(list, question):
    for entry in list:
        print list.index(entry),
        print ") " + entry

    return input(question)

pa pokreneš program vidjet ćeš da program više ne traži od igrača da odabere predmete od 1 do 6, nego od 0 do 5.

Da te ne zbunjuje - ako funkcija menu vrati rezultat 0 to nije indikator da treba stati (kao za loop), nego označava nulti element liste ("pot plant").

10 godina
neaktivan
offline
Osnove programiranja u Pythonu

Nakon dosta muke moj prvi vjezba kod :D jel se ovo moglo kako drugacije jos napraviti recimo da se umjesto tavern koristi direkt raw input znaci bilo bi if raw input ==beer print.....i svaki savjet je dobro dosao za dalje sta bi se moglo dodati uraditi

 

 

tavern=('beer','rum','whisky','stock')
tavern=raw_input('what are your drinking:')

if tavern =='beer':
    print 'aa good one'
elif tavern =='rum':
    print 'are you sailor'
elif tavern =='whiskey':
    print 'a cowboy'
elif tavern =='stock':
    print 'here\'s bottle'
else:
    print 'naaaah never a man of you'

Moj PC  
1 0 hvala 0
12 godina
neaktivan
offline
Re: Osnove programiranja u Pythonu

Najbolje bi bilo da probaš to napraviti i vidiš zašto ta ideja nije dobra. Funkcija raw_input traži od korisnika da unese neki tekst. Ako u donjem if lancu tavern zamijeniš s raw_input('what are your drinking:') i npr- pokušavaš odgovoriti stock program će te 4 puta pitati istu stvar.

 

Prva naredba je apsolutno nepotrebna. Onaj dugi if-lanac se može zamijeniti s dictionaryjem

 

responses = {'beer': 'aa good one',
             'rum': 'are you sailor',
             'whiskey': 'a cowboy',
             'stock': "here's bottle"}

tavern = raw_input('what are your drinking:')
print responses.get(tavern, 'naaaah never a man of you')

Poruka je uređivana zadnji put sub 17.1.2015 13:46 (Bobobo-bo Bo-bobo).
10 godina
neaktivan
offline
Osnove programiranja u Pythonu

Dalje dosao sam do klasa(classes and self) koje mi nimalo nisu jasne recimo na video tutorialu je obrađivano ovim redosljedom ali jednostavno ne shvacam.Pokusao sam da bi sebi raznasnio,olaksao zamjenio Name sa Auto :D,onda sam morao zamjeniti i first,second sa color i model :D a mozda sam tako jos vise zakmoplicirao ali mozda vi nadjete neki bolji primjer da mi pokazete.I donekle mi je jasno da bi mogao jos dodavati kao boju i model recimo motor itd i  da se self mjenja ovisno o nasem upisu ako je color.saying onda ce umjesto selfa biti pink itd

 

class classAuto:
    def createAuto(self,name):
            self.name=name
    def displayAuto(self):
            return self.name
    def saying(self):
            print 'hello %s' %self.name

>>> color=classAuto()
>>> model=classAuto()
>>> color.createAuto('pink')
>>> model.createAuto('ww')
>>> color.displayAuto()
'pink'
>>> model.saying()
ufff ww
>>> model.name

'ww'

 

Moj PC  
1 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice