Idag ägnade vi större delen av lektionen till att tillsammans lösa uppgift m06u01 där vi fick testa på att jobba med externa paket och även kika på hur vi kan använda listor i andra listor.
Här följer koden som nu är utförligt kommenterad.
import numpy as np # lista som lagrar de olika polynomen polynomen = [] def print_polynom(lista): """ Funktion som skriver ut polynomet och kvadraten av polynomet. :param lista: lista att göra polynom av :return: inget """ polynom = np.poly1d(lista) polynom_kvadrat = polynom ** 2 print("\nPolynomet:\n{}\nPolynomet i kvadrat:\n{}".format(polynom, polynom_kvadrat)) print('Välkommen till fusk_2000. I denna applikation skall du ange fyra polynom som kvadreras och skrivs ut.') # Yttre loop som körs fyra gånger for i in range(4): print("\nKonstruerar polynom {}".format(i+1)) # Räknare som räknar hur många tal som matas in i varje polynom tal = 0 # Inre loop som tar hand om varje specifikt polynom while True: tal = tal + 1 # try-konstruktion för att kunna hantera felaktiga inmatningar som skall avbryta inmatningen try: svar = int(input("Ange heltalskoefficient {}, ange något annat för att avbryta: ".format(tal))) # Om tal är 1 så är det den första koefficienten i ett specifikt polynom... if tal == 1: # Och då måste en ny komponent med en lista skapas i listan "polynomen" polynomen.append([]) # Lägg sedan till värdet i en ny komponent i listan polynomen[i] polynomen[i].append(svar) # Om konverteringen till ett heltal på rad 29 misslyckades så fångas felet upp här... except: # ... och break gör att loopen som startar på rad 25 avbryts break # loopa igenom polynomen och skicka varje lista till funktionen for p in polynomen: print_polynom(p)