Some documents that needs to be solved.
Goals and Topics
The assignment problem is straightforward. All necessary details have been supplied. The
solution to the problem will use the programming concepts and strategies covered in workshops
1-10 delivered in the course. The subgoals are:
• Obtaining an advanced understanding of values, variables and lists;
• Understanding program input and output, functions and expressions;
• Understanding simple strategies like iteration, validation, sum and count;
• Understanding of advanced strategies like swapping, sorting, tallying and searching;
• Translating simple design into Python code;
• The mechanics of editing, interpreting, building and running a program;
• Testing a program;
• Commenting source code, especially Docstring on functions;
• Becoming confident and comfortable with programming in small problems.
In this assignment, you are required to design, implement and test a program that can be used
to manage a simple personal Schedule with appointment records, which are stored in a list.
Your program must provide an interactive design that allows the user to:
• create new appointment records and add them to the Schedule;
• display all appointment records with details;
• sort all appointments based on an attribute;
• search for specific appointment records in all records based on an attribute.
The program is to be implemented by Python and as a .ipynb file running on Jupyter notebook.
Figure 1 illustrates the Schedule with an interactive editing environment on a webpage. Please
use this illustration as the reference for the following descriptions. It is not necessary for you
to present the interactive environment exactly as the Figure 1. Use 5 input functions to input
the appointment record information. The records can be displayed using a table with headers
and “--” as Figure 2. Figure 3 shows appointment records sorted by “Priority”. Figure 4 shows
the examples of the tallying results. Figure 5 shows appointment records with “Subject” contains letter “a”.
It is strongly suggested that the following approach is to be taken to design and implement the
Five Input Functions
You should first design, implement and test the input functions of Schedule. You need to
create 5 input functions (refer to Figure 1). For example, the input function is applied to enter
the date with the hint “Please enter the date of your new appointment, e.g. 25/9/2022”. You are
welcome to design your 5 input functions and IDE, as long as they can input the priority, date,
start time, end time and subject of the new appointments similar to the sample IDE shown
in Fig. 1. The 5 inputs for each appointment record will be stored as a string (record) in
All the functions except built-in functions should be presented with proper Docstrings.
The addRecord() Function
You should design, implement and test a function which adds an appointment record to the
Schedule. An appointment record will be added to the Schedule each time when the 5 inputs
of the appointment record are all valid. If any input is invalid, display an error message and ask
user for another input. The function handles the following tasks:
• Collect all data (priority, date, start time, end time and subject) for the appointment
record (assigned them to a string as "High;23/9/2022; 9; 10; CSC1401 class", other
formats for the string are not acceptable for this assignment);
• Validate if the input for "Date" is correct regarding the specification in the Date section
by using the function isValidDate() described below;
• Validate if the input for "Time" is correct regarding the specification in the Time section.
A non-empty string within 30 characters (including space between words) for the
• “Low” and “High” are the only two valid inputs of priority, case insensitive.
• Call isConcurrentAppointment() first then add the valid appointment record into the.
12 фрилансеров(-а) готовы выполнить эту работу в среднем за $23
I am a senior developer and I really like to participate in new challenges and projects, my main skills are PHP, Laravel, Symfony, Nodejs, Angular, HTML, CSS, Wordpress