Øving 5 – Oppgave 3
a) Lag en klasse «frukt» som kan inneholde forskjellige typer frukter. Egenskapene fruktene kan ha er: navn, form, farge og vekt.
b) Lag instanser av frukt-klassen ved hjelp av input fra bruker. Brukeren skal bli bedt bedt om å skrive navnet på frukten, og verdier for alle egenskapene frukten har.
c) Når frukt-klassen inneholder fem ulike frukter skal du skrive ut følgende til konsoll:
- Navnet og fargen på fruktene i klassen
- Vekten på alle fruktene og gjennomsnittlig vekt
Løsningsforslag:
## Oppgave 3 svar
## a)
import numpy as np
class Fruit:
# Setter attibuttene til objektet
def __init__(self, name, shape, color, weight):
self.name = name
self.shape = shape
self.color = color
self.weight = weight
# Set-funksjoner
def set_name(self, name):
self.name = name
def set_shape(self, shape):
self.shape = shape
def set_color(self, color):
self.color = color
def set_weight(self, weight):
self.weight = weight
# Get-funksjoner
def get_name(self):
return self.name
def get_shape(self):
return self.shape
def get_color(self):
return self.color
def get_weight(self):
return self.weight
## b)
fruitList = [] # Initierer tom liste som skal holde lister over fruktene
for count in range(1,6):# Henter inn 5 runder med input fra bruker
print('Frukt nummer', count, ':')
name = input('Name: ')
shape = input('Shape: ')
color = input('Color: ')
weight = int(input('Weight: '))
fruits = Fruit(name, shape, color, weight) # Lager objektet for frukten
fName = fruits.get_name()
fShape = fruits.get_shape()
fColor = fruits.get_color()
fWeight = fruits.get_weight()
fruitList.append([fName,fShape,fColor,fWeight]) #legger atributtene til frukten til en liste i listen
## c)
weightList = [] # Initierer tom liste som skal holde vekten på fruktene
for fruit in fruitList:
print('Fruktene er:',fruit[0],', som er ',fruit[1],'i formen og veier ca', fruit[3], 'gram,')
weightList.append(fruit[3])
print('Gjennomsnittlig vekt på fruktene er:', np.mean(weightList))
