Hei! Olen ihan aloittelija tässä pythonin käytössä, joten tähän varmaankin löytyy vastaus suht. nopeasti. Tein testiohjelmaksi seuraavaa:
Koitin tehdä laskutoimituksen, jossa aiemmin kysytty ikä kerrotaan luvulla 365, että saadaan elettyjen päivien määrä. Eli:
ika = raw_input ("Ikä: ") print "Eletty aika:" print "Päivinä:", ika * 365
Kun tuota koitin, niin sylki 365 kertaa iän peräkanaa.
Kuinka saan sen pelittämään niin, että se antaa oikean luvun? Eli esim. ika * 365 (ika = 25) = 9125.
Mod. lisäsi kooditagit!
raw_input
antaa sinulle merkkijonon, joka täytyy muuttaa (kokonais)luvuksi ennen kun voit tehdä sillä laskutoimituksia. Saat ohjelman toimimaan haluamallasi tavalla muuttamalla ensimmäisen rivin muotoon ika = int(raw_input ("Ikä: "))
.
Kiitoksia!
Lisäys:
Seuraava pulma:
Kuinka saan kysymyksen esittämisen jälkeen ohjelman looppaamaan kysymyksen, jos vastaus ei ole haluamani? Esimerkki:
kysymys = raw_input ("Minkä värinen on punainen auto?: ") if kysymys == "Punainen" print "Oikein!" else: #Kysy kysymys uudelleen!#
Tällä hetkellä ongelma on siinä, että jos kysymykseen vastaa väärin, ohjelma ei päästä eteenpäin, eikä kysymykseen voi vastata uudelleen, ellei restarttaa koko ohjelmaa. Eli kuinka saan ohjelman kysymään niin kauan, että haluttu vastaus saadaan?
Mod. lisäsi kooditagit!
Pythonia koskaan käyttäneenä idea on varmaankin näin:
oikein = false; while (!oikein) { kysymys = raw_input ("Minkä värinen on punainen auto?: "); if (kysymys == "Punainen") { print "Oikein!"; oikein = true; } }
Teuron koodia oikeaksi muokaten:
while True: kysymys = raw_input('Minkä värinen on punainen auto? ') # hyväksytään sekä 'Punainen' että 'punainen' if kysymys.lower() == 'punainen': print 'Oikein!' break
Nyt toimii. Kiitoksia taas!
Aihe on jo aika vanha, joten et voi enää vastata siihen.