Python pomoc oko zadatka

poruka: 6
|
čitano: 4.015
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
odjavljen
offline
Python pomoc oko zadatka

Ovako ucim python mozda sam malo prebrzao , jer sam za nekih 7 dana procitao 70+ stranica knjige.

(Radi se o knjizi 'Uvod u python programiranje' by Michael Dawson)

 

Zadatak glasi : Napisati program koji baca novcic 100 puta i prikazuje koliko puta je bila glava , a koliko puta pismo.

 

Meni nije jasno kako da prikazem koliko je puta sta bilo i takodje kako da se prikazuju razliciti brojevi .

Jer sta god ja definisem , ja kad napisem print (novcic) i ako je random on svaki put daje isti random a ne razliciti.

 

evo jedan primjer od mojih pokusaja:

#novcic srece

 

import random

 

glava = 1

pismo = 2

novcic = random.randint(glava , pismo)

bacanja = 0

 

while bacanja <= 100:

   random.randrange(print (novcic))

   bacanja += 1

 

 

 

ako ko zna da rijesi moze da mi posalje rijsenje (pls koristite petlju while ne for)

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Python pomoc oko zadatka

Cemu while umjesto for? :O

 

ovak, koristis randint (python 3.2.2)

 

U biti (s whileom)

 

 

from random import *

 

i = 0

p = 0

g = 0

 

a = ['pismo', 'glava']

while i < 100:

   r = choice(a)

   i += 1 ## isto sto i = i + 1

   if r == 'glava':

     g += 1

   else:

     p += 1

print('glava %d puta\npismo %d puta' % (g, p))

 

EDIT: tvoj program nigdje nista ne ispisuje, samo ih u petlji generira, nigdje ne sprema koliko je puta sta generirao...

Python je tvoj prvi jezik?

 

Poruka je uređivana zadnji put ned 25.3.2012 20:40 (Mojpismonosa).
Moj PC  
0 0 hvala 1
14 godina
odjavljen
offline
Re: Python pomoc oko zadatka

Puno hvala malo komande ne poznajem ali odprilike kontam.

 

Mozes me ispraviti ako nisam upravu:

 

i = broj bacanja

p = pismo

g = glava

 

a = lista koja sadrzi pismo i glavu (ili objekat kako se vec kaze)

 

while i <100 (petlja koja baca novcic 100 puta)

r = choice(a) nezz tacno ali msm da to znaci da r izabira list(objekat) a

i += 1 = povecava vrijednost i za jedan svaki put sve do 100

if r == 'glava': = ako je r glava ,  dodaj +1 glavi svaki put kada ona bude

else: ako je p onda dodaje pismu +1 svakk put kada bude

 

print (.....) ispisuje koliko puta je p a koliko g

 

(poslao sam pogresni program sry)

 

i hvala

16 godina
neaktivan
offline
Python pomoc oko zadatka

U pravu si, g i p su brojaci, integeri koji se povecavaju kad je pismo, odnosno glava...

 

a nije objekt, objekt je nesto drugo, koliko ja znam,

to je lista s 2 elementa, a choice vraca random element liste (a)

tj pismo ili glavu i sprema je u varijablu koju petlja svakim prolaskom provjerava...

 

Inace ovo se dalo puno puno krace rijesit, no ja sam to vise ilustrirao (i jos uvijek nisi reko zasto while petlja) Python je vrlo fleksibilan jezik, sad ne znam radis li u 2.x ili 3.x, ima nekih razlika...

 

Pa tako ako ne razumijes ovaj print, moglo se i to puno "ilustriranije" rijesit,

  probaj:

 

print('pismo ' + ' puta, a glava ' + str(g) + 'puta')

 

Ako ne razumijes zasto taj str stoji, printat odjednom mozes samo jedan tip podataka,

a ovaj tekstualni dio je tipa string (text, recimo) dok su g i p integeri (cijeli brojevi) pa

ih se mora pretvorit u string sa str funkcijom

 

Alternativno:

print('pismo:')

print(p)

print('glava:')

print(g)

 

Reci ak kaj jos ne kuzis...

Poruka je uređivana zadnji put uto 27.3.2012 2:03 (Mojpismonosa).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Python pomoc oko zadatka
Sorry neuredno je s moba nemrem paragrafe radit i uredit :/ budem doma
Justin Bieber - God created me to sing ! Rise Against - No, i don't
Moj PC  
0 0 hvala 0
14 godina
odjavljen
offline
Re: Python pomoc oko zadatka

Puno hvala , sada mi je jasno. While koristim jer je to poglavlje u kojoj to treba rijesiti sa while. Koristim 3.x :)

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice