I denna den sista labb ska du utöka programmet från laboration 4. Till att börja med ska ni i slutet av programmet lägga till följande: class Register: def main(self): # Här lägger ni all kod från huvudprogrammet i föregående lab. # Här kommer nya huvudprogrammet. r = Register() r.main() # Addera nu inget mer till detta. Från förra veckans lab var det tydligt att många använde globala variabler istället för att skicka parametrar (som i metoderna tas emot som lokala variabler). Tidigare har jag vid flera tillfällen sagt: Behövs en variabel lokalt ska den endast användas lokalt. Det är tyvärr enklast att alltid göra samtliga variabler globala men då programmet växer i omfattning blir detta en källa till fel. Genom konstruktionen ovan finnes endast en global variabel "r" i huvudprogrammet och man tvingas använda lokala fortsättningsvis. Uppgifter: - Addera en metod "readMenuFromFile" till klassen Register, denna ska läsa in maträtterna från en fil med följande format: Strömming/Med potatismos & skirat smör/99/500/False Biff Rydberg/Mums/149/700/True Addera gärna några rätter till efter eget tycke. Maträtterna ska kunna vara godtyckligt många så det går inte längre att använda d1, d2, etc utan Dish-ojbekten ska adderas till en lista. Förslagsvis namnges denna lista "dishes" för att indikera att det är frågan om plural. - Addera en metod "sort" till klassen Register, denna ska sortera maträtterna i bokstavsordning. Detta kräver också en "__lt__" ("__cmp__" i python 2) metod i klassen Dish. Uppdatering!!! Alternativt "key" parameter till sort(). - Skriv slutigen en metod "writeMenu", även denna huserar i klassen Register. Den går igenom hela listan och presenterar menyn. Kräver endast ett fåtal rader kod. Lägg anrop av "readMenuFromFile", "sort" och "writeMenu" inuti metoden "main" ovan. Kör nu programmet. Om allt går väl får ni en meny (inläst från filen), sorterad och presenterad i bokstavsordning.