辅导国外Python Programming Homework 、辅导Dictionaries, Files, OOP

- 首页 >> Python编程

CS10 Python Programming Homework 5

40 points

Dictionaries, Files, OOP

1. You must turn in your program listing and output for each program set. Start a new sheet or sheets of paper

for each program set. Each program set must have your student name, student ID, and program set

number/description. All the program sets must be printed and submitted together with your Final Exam.

Once you complete your Final Exam and leave the classroom you will not be able to submit Homework 5.

Late homework will not be accepted for whatever reasons you may have.

********************************************************************************************************************************

for this homework, you are also to submit All Program Sets to Canvas under Homework 5 link

********************************************************************************************************************************

a. Name your files : PS1_firstinitial_lastname.py for Program Set 1 and so on. PS means program

set.

b. You still have to submit the paper copies together with the rest of the Homework 5.

c. You have till 11:59pm on the day of Final Exam to submit all Program Sets to Canvas. If the

deadline is past, Program Sets will not be graded even if you submit the paper copy on time.

d. You must submit both hardcopy and upload the Program Sets to Canvas to be graded. If you

only submit the hardcopy or only upload to Canvas you will receive a zero for the Program Sets.

You must submit all the hardcopies of all Program Sets of Homework 5.

e. if you do not follow instructions on file naming provided in this section you will receive a zero for

the whole of Homework 4.

2. You must STAPLE (not stapled assignments will not be graded resulting in a zero score) your programming

assignment and collate them accordingly. Example Program set 1 listing and then output, followed by

Program Set 2 listing and output and so on.

3. Please format you output properly, for example all dollar amounts should be printed with 2 decimal places.

Make sure that your output values are correct (check the calculations).

4. Each student is expected to do their own work. IF IDENTICAL PROGRAMS ARE SUBMITTED, EACH

IDENTICAL PROGRAM WILL RECEIVE A SCORE OF ZERO.

Grading:

Each program set must run correctly syntactically, logically, and display the correct output as specified. If

the program set does not run correctly, a zero will be given. For each Program set, if the program executes

properly with proper syntax, logic, and displays the correct output, then points will be deducted for not having

proper:

a. Comments 1 pt

- Your name, description at the beginning of each program set. Short description of the what

each section of your codes do.

b. Consistency/Readability 2 pts

- Spacing(separate each section of codes with a blank line

- Indentation

- Style (proper naming of variables no a,b,c – use descriptive and mnemonics)

-each function must include type hints or annotations except for the main()

-include docstrings for every function

c. Required elements 2 pts

- Use tools that have been covered in class

- proper formatting for output when specified

- all monetary values must be in 2 decimal places

d. Output 3 points

- to be displayed at the end of the program listing(codes)

- must use test cases when provided

Program 1- Tea Leaves Sales Report (15 Points)

1. Here is the sample of the text file (datafile) for the tea sales (tea.txt). You have to create this file yourself.

Green Tea:8580.0:7201.25:8900.0

Earl Grey:10225.25:9025.0:9505.0

Ceylon:6700.1:5012.45:6011.0

Jasmine:9285.15:8276.1:8705.0

Mint Tea:7901.25:4267.0:7056.5

The data reads as follows – tea_name:store1_Sales:store2_Sales:store3_Sales

2. The output displayed as follows:

>>>

Ceylon 6700.10 5012.45 6011.00 17723.55

Earl Grey 10225.25 9025.00 9505.00 28755.25

Green Tea 8580.00 7201.25 8900.00 24681.25

Jasmine 9285.15 8276.10 8705.00 26266.25

Mint Tea 7901.25 4267.00 7056.50 19224.75

42691.75 33781.80 40177.50

>>>

The last row is the store totals for all the kinds of tea leaves sold. The last column is the total sale for

each kind of tea leaves sales. Note that the tea names are sorted.

3. Write a program to read in the tea.txt textfile and then print the report as shown in #2 above.

4. You must use dictionary. You can also use list, tuples, sets if necessary.

Program 2 – OOP (10 points)

Write a program to calculate and display the loan for buying a car.

1. Create a class call Loan.

Data fields in the Loan class include:

1 Annual Interest Rate (Float)

2. Number of years of loan (Float)

3. Loan Amount (Float)

4. Borrower’s Name (string)

2. Create the initializer or constructor for the class with the above data fields. Make the data fields private.

3. Create accessors (getter) for all the data fields.

4. Create mutators (setters) for all the data fields.

5. Create a class method - getMonthlyPayment where

monthlyPayment = loanAmount * monthlyInterestRate / (1 ‐ (1 / (1 + monthlyInterestRate) ** (numberOfYears * 12)))

note: that the monthly interest rate = annualinterest / 1200

5. Create a class method - getTotalPayment where

totalPayment = getMonthlyPayment() * numberOfYears * 12

7. Write a test program (main function) to allow the user to enter the following:

1. Annual Interest Rate

2. Number of Years of Loan

3. Loan Amount

4. Borrower’s Name

Allow the user to change the loan amount and reprint the new loan information.

The output should look like this:

>>>

Enter yearly interest rate, for example, 7.25: 2.5

Enter number of years as an integer: 5

Enter loan amount, for example, 120000.95: 1000.00

Enter a borrower's name: John Jones

The loan is for John Jones

The monthly payment is 17.75

The total payment is 1064.84

Do you want to change the loan amount? Y for yes or enter to quit y

Enter new loan amount 5000

The loan is for John Jones

The monthly payment is 88.74

The total payment is 5324.21

>>>

Program Set 3 (15 points)

Use Program set 2 codes and use tkinter module to create a GUI program for the Loan program that looks like

the below image.


站长地图