2 svar
219 visningar
wilda behöver inte mer hjälp
wilda 19 – Fd. Medlem
Postad: 15 feb 2017 21:48 Redigerad: 15 feb 2017 21:50

Var lägger man in return delen?

Hej, Har en fråga till. 

Uppgiften: Skapa en funktion get_int_input(prompt_string) som gör ungefär samma sak som
int(input(prompt_string)), men med felhantering.

Jag skulle dock vilja att funktionen kan returnera värdet som användaren skriver för att kunna använda det till senare uppgifter. Hur löser man det? Jag skulle vilja lägga till value = int(input(prompt_string)) och längst ner return value. Men jag får felkod på det

Min lösning är följande (med min tänkta ändring som inte fungerar överstruken):

def get_int_input(prompt_string):
    done = False
     while not done:
         try:
            value int(input(prompt_string))
        except ValueError as error:
            print("Svara med ett heltal! Felkod:", error)
        else:
             done = True
         return value

print(get_int_input("Ange ditt värde: "))

Henrik Eriksson 1405 – Fd. Medlem
Postad: 15 feb 2017 22:19 Redigerad: 15 feb 2017 22:20

Om det matas in knas ger du felutskrift och sen returnerar du ändå det value som inte har fått något värde. Förslag:

def get_int_input(prompt_string):

    while True:

        try: return int(input(prompt_string))

        except: print("Svara med ett heltal!)

Smaragdalena 80504 – Avstängd
Postad: 2 dec 2017 17:09

1 tramsinlägg raderat. /moderator

Svara
Close