» »

[Naloga][Python] Vislice

[Naloga][Python] Vislice

vice boy ::

SEm čisti začetnik na tem področju... v resnici sem bil prisiljen v to ---šola----
in sem dobil nalogo naj napišem program za igranje vislic
pa bi rabil kakšen namig (ne prosim da nekdo napiše rešitev ...da ne bo zopet obtoževanja z lenuhom :P )
Pač preprosto nevem kako začeti

aja beseda je zapisana v datoteki....jo uvoziš, splitaš?....kako, kje, kaj potem...

Hvala
Srečnga ....

LP, Začetnik
Osel gre samo enkrat na led, človek pa dvakrat.
  • spremenilo: CCfly ()

[MYTiX] ::

A že znaš programirat v Pythonu?
Če ja, potem verjetno veš da ima že osnovna namestitev Pythona en kup uporabnih knjižnic za delo z datotekami, z nizi in ostalimi uporabnimi zadevami. Priporočam ti ogled uradne dokumentacije.
Ko pa boš imel kaj narejenega in če se ti kje zatakne, pa se lahko zopet obrneš na s-t.
In noben te ne bo imel za lenuha.
podpis

snow ::

Takole naj bi bil potek:
1) izbereš besedo
2) izpis besede z .... in že uganjenimi črkami (na začetku nobena)
3) vprašaš za črko
4) prebereš črko (sledi kontrola, da je bila napisana res ena črka in da je bila res črka)
6) je bila uganjena nova črka v besedi? če da potem je treba to upoštevati pri naslednjem izpisu. pojdi na korak 2) če ne... povečaj število napak za 1 in preveri ali je bilo doseženo maksimalno število napak če ne pojdi na korak 2)


Zdaj pa programiraj in ko se kje ustavi povej kaj točno ti ni jasno.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

vice boy ::

Ustavi se mi že po uvozu datoteke
dat = open ("vislice.txt", "r")
x = raw_input ("Dodaj crko: ")

kako bi preveril če je vpisana črka v tej datoteki ?
Osel gre samo enkrat na led, človek pa dvakrat.

snow ::

V besedi mislis?

str = "uganitole"
str.count('a') #vrne stevilo a-jev v besedi
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

snow ::

Oziroma še lažje:
'a' in str

vrne tip bool (True/False).
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

vice boy ::

Zaka mi zdj noče pol izpisat če je notr kkšna črka
(zanimam me če sm kkšno napaku narediu že pri uvozu datoteke)

dat = open ("vislice.txt", "r")
x = raw_input ("Dodaj crko: ")
y = dat.count(x)
d = dat.read()

print y
Osel gre samo enkrat na led, človek pa dvakrat.

snow ::

Jaz bi naredil uvoz takole:

dat = open ("vislice.txt", "r") #odpre datoteko za branje
beseda = dat.readline().strip() #iz datoteke prebere vrstico in odstrani razne presledke in ostale 'cudne' znake pred in za besedo
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

vice boy ::

do tukaj sem sedaj prišel

dat = open ("vislice.txt", "r")
beseda = dat.readline().strip()
x = raw_input ("Dodaj crko: ")

y = beseda.count (x)

print ("Crka ---"), x, ("--- se v iskani besedi pojavi"), y, ("krat")

če pa hočem uporabiti if zanko pa ne dela (ko recimo dam možnost če vpiše celo besedo)
pa tudi nekako morm omejiti število poizkusov...
Osel gre samo enkrat na led, človek pa dvakrat.

snow ::

Nekam si bo potrebno shranjevati vse poizkuse ali pa vsakokrat popravljati (=delati na novo) en string, za izpis.

Pa potrebno bo spremenljivke, v katere boš beležil število napačnih ugibanj, ter pravilno uganjenih črk.


Sledi še eno preverjanje... vse znotraj ene zanke (namig: while).
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

snow ::

dat = open ("vislice.txt", "r")
beseda = dat.readline().strip()

napak = 0
uganjenih = 0
uganjene_crke = []

print '.' * len(beseda),"\t\tuganjenih:",uganjenih, "napak:",napak
while True:
    crka = raw_input("ugibaj:")

    if (crka in beseda) and (crka not in uganjene_crke):
        uganjenih += beseda.count(crka)
        uganjene_crke.append(crka)
    else:
        napak += 1

    izpis = ""
    for c in beseda:
        if c in uganjene_crke:
            izpis += c
        else:
            izpis += '.'
    print izpis , "\t\tuganjenih:",uganjenih, "napak:",napak

    if uganjenih == len(beseda):
        print "ZMAGA!"
        break;

    if napak == 10:
        print "LOSER!"
        break;
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

vice boy ::

Hvala ti...
Dougujem ti pivo :D
Osel gre samo enkrat na led, človek pa dvakrat.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

python-rabim pomoč

Oddelek: Programiranje
162775 (1005) rnla1973
»

Python - pomoč (strani: 1 2 3 )

Oddelek: Programiranje
10318037 (8785) black ice
»

Python naloga pomoč!!!

Oddelek: Programiranje
142204 (1638) Sony-Tech
»

[Python] Tutoriali za začetnika v Notepad++ (strani: 1 2 )

Oddelek: Programiranje
7916324 (13418) black ice
»

[Python] syntax error-invalid syntax

Oddelek: Programiranje
51752 (1722) Vesoljc

Več podobnih tem