File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1515from dataclasses import dataclass
1616from enum import Enum
1717from typing import List
18+ import sys
1819
1920class OperatingSystem (Enum ):
2021 MACOS = "macOS"
@@ -63,7 +64,13 @@ def find_possible_laptops(laptops: List[Laptop], person: Person) -> List[Laptop]
6364
6465# receiving values from input to create person:
6566name = input ("Enter your name: " )
66- age = int (input ("Enter your age: " ))
67+
68+ try :
69+ age_input = input ("Enter your age: " )
70+ age = int (age_input )
71+ except ValueError :
72+ print ("Error: Age must be a number." , file = sys .stderr )
73+ sys .exit (1 )
6774
6875print ("Choose preferred operating system:" )
6976print ("1. macOS" )
@@ -79,9 +86,17 @@ def find_possible_laptops(laptops: List[Laptop], person: Person) -> List[Laptop]
7986
8087preferred_os = os_map .get (choice )
8188
89+ if preferred_os is None :
90+ print ("Error: Invalid operating system selection." , file = sys .stderr )
91+ sys .exit (1 )
92+
8293person = Person (name = name , age = age , preferred_operating_system = preferred_os )
8394
84- print ("Created person:" , person )
95+ print (
96+ f"\n Welcome { person .name } ! "
97+ f"Age: { person .age } , "
98+ f"Preferred OS: { person .preferred_operating_system .value } "
99+ )
85100# counts how many laptops there are with that OS
86101matches_count = sum (
87102 1 for laptop in laptops
You can’t perform that action at this time.
0 commit comments