Miten tuossa Python-oppaan 3. osan tietovisa hommassa pääsisi hyppäämään takaisin alkuun? Mikä mahtaa moinen komento pythonissa ylipäätänsä olla. Kun ei ole labeleitä eikä muuta kivaa. Esim jos laittaisi kysymyksen loppuun haluatko pelata uudestaan ja vastauksella kyllä aloitettaisiin alusta, mitenkäs moinen?
Karzatin: kokeile lisätä loppuun vaikka tällainen setti.
uusi_peli = raw_input("Haluatko pelata uudestaan (k/e)?\n") if uusi_peli != "k": break # rikkoo loopin eli silmukan joka vie takaisin "while" kohtaan
ja alkuun (siis sen kohdan yläpuolelle, josta haluat pelin alkavan:
k = 1 while k == 1: # kaikki pelin rivit sisennettynä (huom. jo sisennetytkin täytyy sisentää uudestaan)
nyt peli ikäänkuin looppaa tuohon "while k = 1:"-kohtaan kunnes käyttäjä ei paina k, eli voi pelata uudestaan. Jos kirjoittaa jotain muuta, silmukka rikkoutuu ja ohjelma jatkuu koko while-sotkun jälkeisestä rivistä, jonne voi kirjoittaa esim. print "Kiitos pelaamisesta!"
tässä vielä testattuna oma versioni, toi print "Peli." tarkottaa kaikkea sun peliin liittyvää:
k = 1 while k == 1: print "Peli." uusi_peli = raw_input("Haluatko pelata uudestaan (k/e)?\n") if uusi_peli != "k": break print "Kiitos pelaamisesta."
toivottavasti toimii, olen itsekin aloittelija =)
edit. selkeytin viestiä ja lisäsin oman räpellykseni
Joo elikkäs jos haluaa käydä uudestaan tietovisaa, kannattaa vain lisätä alkuun silmukka "while True:". Lopussa kun kysytään haluaako pelaaja pelata uudestaan, laitetaan vastaus "k" jatkamaan silmukkaa ja vastaus "e" rikkomaan silmukan.
while True: #(tähän tietokilpailua...) ... vastaus = raw_input("Pelataanko uudestaan (k/e): ") if vastaus == "k": continue else: break
Elikkäs "while True"-silmukka jatkuu loputtomiin kunnes tulee komento "break".
Aihe on jo aika vanha, joten et voi enää vastata siihen.