0   1

Miten Python (2.6) ohjelman saa alkamaan automaattisesti alusta?

Esim.

print "wööt"

print "wööt wööt"

wööt = raw_input("Wööt: ")

if wööt == "wööt"
print "wööt"
else:
(Ohjelma alkaisi alusta, eli ensimmäisestä "wöötistä".)

Miten tämän saisi tehtyä?

Kysyjä: Anonyymi käyttäjä, 2.12.2011 15:38

Vastaukset

  3   0
ep_ (7376)

Silmukalla.
http://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=python_04
http://wiki.mureakuha.com/wiki/Python#For-silmukka
http://wiki.mureakuha.com/wiki/Python#While-silmukka

Eli idea on se että koodi jää pyörimään uudelleen ja uudelleen niin kauan kunnes jokin ehto täyttyy ja lopettaa silmukan.

Tässäpä pätkä tosta ohjelmointiputkan jutusta:


# -*- coding: latin-1 -*-
while True:
    sana = raw_input("Kirjoita tunnussana: ")
    if sana == "python":
        break
print "Tervetuloa!"

Jos tunnussanan kirjoittaa oikein silmukka hajotetaan ja koodi jatkuu. Jos tunnussana on väärin, palataan silmukan alkuun.

2.12.2011 15:56
  1   0
ep_ (7376)

Lainaus:

Selvä, mutta jos alussa on tavallisesti vain tekstiä,

(esim. print "wööt")

niin miten ohjelman saa alkamaan aivan alusta? Siitä tässä oli kysymys. :)


Laitat silmukan aivan koodin alkuun ei sen vaikeampaa.

Lainaus:
Ja kuinka siihen saa lisää vaihtoehtoja?

En noista ehtolauseista tiedä. En ole pythonia ikinä kodannut mutta ehtolauseilla siis. Eli siis ihan tavallisesti if:n elif:n ja elsen avulla voit rakentaa tohon vaihtoehtoista koodia tuon silmukan sisälle. Tuo "break" tuolla hajottaa sen silmukan.

Esim. (Älä luota liikaa, en ikinä ole pythonia koodannut joten pikkuvirheitä saattaa olla)

# -*- coding: latin-1 -*-
while True:
    sana = raw_input("Kirjoita tunnussana: ")
    if sana == "python":
        break
    elif sana == "moikka";
        print "moikka ei ole salasana"
    else
        print "salasana oli väärin"
print "Tervetuloa!"


Eli silmukka jatkaa niin pitkään kunnes kirjoitetaan sana python. Kun kirjoitetaan "python", niin tulija toivotetaan tervetulleeksi ja silmukka loppuu. Jos kirjoitetaan sana "moikka" vastataan että "moikka ei ole salasana" ja palataan silmukan alkuun. Kun kirjoitetaan jotain, muuta ilmoitetaan että "salasana oli väärin" ja palataan silmukan alkuun.

Eli siis tuon silmukan avulla saat jonkun jutun toistumaan niin pitkään kuin tarvitset ja voit hajottaa sen "break":lla sitten kun koodia pitää jatkaa eteenpäin. Tonne silmukan sisään voit koodata vapaasti mitä haluat. Muista lopettaa silmukka joskus.

2.12.2011 17:07
  0   0
Vahvistamaton käyttäjä

Selvä, mutta jos alussa on tavallisesti vain tekstiä,

(esim. print "wööt")

niin miten ohjelman saa alkamaan aivan alusta? Siitä tässä oli kysymys. :)

2.12.2011 16:51
  0   0
Vahvistamaton käyttäjä

Ja kuinka siihen saa lisää vaihtoehtoja?

2.12.2011 16:54
  0   0
Vahvistamaton käyttäjä

kirjoitti:Good day! This post could not be written any betetr! Reading this post reminds me of my old room mate! He always kept chatting about this. I will forward this article to him. Fairly certain he will have a good read. Thank you for sharing!

23.6.2012 08:51

Ehdota parempaa vastausta

Voit osallistua myös täysin nimettömästi ilman käyttäjätunnusta.
Mikäli sinulla ei ole vielä AfterDawn-käyttäjätunnusta, syötä allaolevaan kaavakkeeseen toivomasi käyttäjätunnus sekä sähköpostiosoitteesi. Lähetämme sinulle jälkikäteen aktivointilinkin antamaasi sähköpostiosoitteeseen.

Mikäli sinulla on jo ennestään AfterDawn-käyttäjätunnus, kirjaudu sisään seuraavan välilehden kautta.

Kirjaudu sisään käyttäen AfterDawn -käyttäjätunnustasi tai sähköpostiosoitettasi.


Kysy.

150