Ditt första Python-skript
I denna uppgift ska du skriva ett program som omvandlar ett numeriskt värde. Du tränar på användarinmatning, villkorssatser (if/elif/else), variabler, datatyper och enkel felhantering.
Förkunskaper
Section titled “Förkunskaper”Du har jobbat igenom allt material i “kmom01”.
Introduktion
Section titled “Introduktion”Du skall nu göra ett program som räknar ut ett pris efter rabatt och skatt. Användaren ska skriva in priset och programmet ska räkna och skriva ut det slutgiltiga priset. Programmet ska också hantera felaktig input för att programmet inte ska krascha.
Avsluta med att skriva ut det omvandlade värdet med max två decimaler.
Det är viktigt att ditt program följer instruktionerna i kraven annars kommer inte testerna fungera och då rättas inte din inlämning.
Lösningar som använder konstruktionerna list/dict comprehension eller lambda funktioner godkänns inte i denna kurs.
Varje uppgift ska lösas med grundläggande Python konstruktioner som vi går igenom i kursen. Egenskapade funktioner får användas först i kmom03 och listor får användas först i kmom04.
- Skriv din kod i filen
src/kmom01/convert/convert.py.
# Ställ dig i roten av kurskatalogen pythontouch src/kmom01/convert/convert.pycd src/kmom01/convert# Lista alla filer i convert-katalogenls# Kör programmet convert.pyuv run convert.py-
convert.pyskall innehålla kod för att omvandla ett värden, som beskrivs i texten ovanför. Tips: lägg till en utskrift, testkör programmet och gör din första commit (se kommandon i sista punkten) som första steg. -
Gör ett
input()anrop för att få värdet som ska omvandlas.- Om användaren skriver in ett värde som inte är endast siffror så ska programmet skriva ut ett felmeddelande och avsluta.
- Felmeddelandet måste innehålla texten
Invalid value.
Hello and welcome to the price converter!Enter value to convert: AInvalid value, please enter a number. - Felmeddelandet måste innehålla texten
- Om det är endast siffror, omvandla det till ett heltal,
int.
- Om användaren skriver in ett värde som inte är endast siffror så ska programmet skriva ut ett felmeddelande och avsluta.
-
Om input var ett tal ska du nu räkna ut det nya priset.
Hello and welcome to the price converter!Enter value to convert: 100The final price of 100 after 10 kr discount and 20% tax is: 108.0 kr -
Skriva ut original värdet och det omvandlade värdet. Det nya priset ska vara avrundat till max två decimaler. Obs! det måste vara ett mellanslag direkt efter originalvärdet och det omvandlade värdet i utskriften.
-
Koden ska validera med Ruff.
Terminal window # Kommandot funkar oavsett var du står i ditt repouv run ruff check -
Testerna som finns ska passera.
Terminal window # stå i katalogen src i ditt repouv run task test -- kmom01/convert -
Ladda upp din kod till ditt repo på GitHub. Gör flera små commits när du jobbar med uppgiften!
Terminal window # stå i katalogen src/kmom01/convert i ditt repogit add convert.pygit commit -m "Klart med uppgiften convert"git push
Extrauppgift
Section titled “Extrauppgift”- Använd try-except för att hantera felaktig inmatning (t.ex. om användaren skriver in bokstäver i stället för ett tal).
- Du får inte använda bas felet
Exception, du specificera vilket typ av fel du vill fånga.
- Du får inte använda bas felet
Övrigt
Section titled “Övrigt”Här finns övriga saker som är bra att tänka på.
- Gör många och små commits i ditt git repo, du kan ha ungefär 5-10 commits för en sådan här uppgift.