Moro!
Ensimmäinen viikko tutustuttu ohjelmoinnin maailmaan ja koulutehtävää koskien kaipailisin apuja.
Ohjelma:
kysyy rajattoman määrän lukuja, joista lasketaan "exit"-komennon jälkeen keskiarvo. Inputtiin täytyy pystyä syöttämään myös tekstiä, jolloin ohjelma kohteliaasti kehottaa jatkamaan numeroilla ja tuo while-loop jatkuisi edellä mainitulla tavalla.
Haasteeksi tuli nyt tekstin syötön jälkeinen palautus jatkamaan numeroiden syöttöä/laskemista.
Kiitos jo etukäteen ammattitaidosta!
print('Wanna count multiple numbers?') #Intro Syöttö = "" Syöttö = input('''Type as many numbers as you want. To end the program write "exit":''', ) Syötettu_luku = 0 Yhteensä = 0.0 try: while not Syöttö == "exit": #Luvunsyöttöloop Syötettu_luku +=1 Syötetty_arvo = int(Syöttö) Yhteensä += Syötetty_arvo Syöttö = input('''Gimme more. To end the program write "exit" ------------------------:''', ) if Syöttö =="exit": #Ohjelman lopetus/lasku print("you gave", Syötettu_luku, "numbers.") print("Of those average is: ", (Yhteensä) / Syötettu_luku) except: Syöttö = str("") print("That is not a number") Syöttö = input("Please continue with numbers:")
Laita toi "try except" whilen sisään, niin sitten jatkuu poikkeuksesta huolimatta. Kannatta myös miettiä noiden muuttujien nimeämistä, niin koodista voi saada joku muukin selvää mitä se tekee. Eli Syötettu_luku on nyt todellisuudessa syötetty määrä.
Nythän toi ensimmäinen pyyntö ei ees oo try:n sisällä.
Grez kirjoitti:
(10.02.2019 08:09:18): Laita toi "try except" whilen sisään, niin...
Kiitos vastauksesta ja vinkistä. Ohjelma toimii ja muuttujat nimetty järkevämmin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.