From b968bab6bba5ab81cf771c46e7a8d005c0c78d69 Mon Sep 17 00:00:00 2001 From: louiscklaw Date: Sat, 1 Feb 2025 02:02:18 +0800 Subject: [PATCH] update, --- gitUpdate.bat | 7 + meta.md | 9 + ...3919_Programming Essentials in Python.docx | Bin 0 -> 42332 bytes task1/digest.md | 265 ++++++++++++++++++ task1/gitUpdate.bat | 3 + task1/src/main.py | 103 +++++++ 6 files changed, 387 insertions(+) create mode 100644 gitUpdate.bat create mode 100644 meta.md create mode 100644 task1/EA Project_ITE3919_Programming Essentials in Python.docx create mode 100644 task1/digest.md create mode 100644 task1/gitUpdate.bat create mode 100644 task1/src/main.py diff --git a/gitUpdate.bat b/gitUpdate.bat new file mode 100644 index 0000000..35f8372 --- /dev/null +++ b/gitUpdate.bat @@ -0,0 +1,7 @@ +git status . + +@pause + +git add . +git commit -m"update ifkcof," +start git push \ No newline at end of file diff --git a/meta.md b/meta.md new file mode 100644 index 0000000..76783bb --- /dev/null +++ b/meta.md @@ -0,0 +1,9 @@ +UXMPX + +好,多謝你先 +初次見面,你介唔介意落個 HKD100 訂嘛? + +### balance history + +HKD300 -> quote accepted +HKD100 deposit received diff --git a/task1/EA Project_ITE3919_Programming Essentials in Python.docx b/task1/EA Project_ITE3919_Programming Essentials in Python.docx new file mode 100644 index 0000000000000000000000000000000000000000..9aac8da9751e684ea07d8233d0b773d238873019 GIT binary patch literal 42332 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 AApigX literal 0 HcmV?d00001 diff --git a/task1/digest.md b/task1/digest.md new file mode 100644 index 0000000..6868802 --- /dev/null +++ b/task1/digest.md @@ -0,0 +1,265 @@ +--- +Hong Kong Institute of Vocational Education +ITE3919 – Programming Essentials in Python +AY2324 +Mini Project: Investment Banking System (IBS) +--- + +# Digest + +## 1. Description + +In this project, you are required to complete the following parts: + Part 1: Pseudo code of the first function "Converting Euro or USD to HKD" + Part 2: The coding in Python acceptable style of all 3 functions of Investment Banking System (IBS): + +- Converting Euro or USD to HKD +- Calculating the minimum number of coins +- Calculating the total amount of principle and compound interest + +Coding of system menu is provided to you in this file. You need to copy the code to the source file / online simulator: + +[https://edube.org/sandbox](https://edube.org/sandbox) + +Copy and paste your work into the provided MS word file `EA Project*Answer Sheet*<>.docx` (e.g. `EA Project_Answer Sheet_ChanTaiMan.docx`) and upload to Moodle. + +## 2. Background + +VTC Bank it is a local investment bank in Hong Kong. In order to attract investments from foreign cities, VTC Bank is planning to develop a program to provide the following services: + +- Providing a currency converter; +- Introducing the coins issued in Hong Kong; and +- Providing compound interest calculator. + +Assuming you are the programmer of VTC Bank, your manager asks you to develop the program. + +## 3. IBS Structure + +There are 3 functions of IBS: + +- Converting Euro and US dollars to Hong Kong Dollar; +- Calculating the minimum number of coins for corresponding amounts of dollars; +- Calculating the total amount of principle and compound interest + +### 3.1. Show menu + +At the beginning, the program should show a menu. The user input a number to use a particular function. The following table shows the number and function mapping: + +| Number | Function | +| :----: | --------------------------------------------------------------- | +| 1 | Converting Euro or USD to HKD | +| 2 | Calculating the minimum number of coins | +| 3 | Calculating the total amount of principle and compound interest | +| 4 | Quit the system | + +> _Assume the user will input valid number (i.e. 1, 2, 3 or 4), this part is already done for you._ + +### 3.2. Go back to menu or continue + +After every function is finished (except quit the system), the program should show the menu again and ask user to choose a function. + +> _\*This part is already done for you._ + +## 4. IBS Functions + +### 4.1. Converting Euro or USD to HKD + +When user chooses this function, user can convert Euro or USD to HKD. User inputs strings "Euro" or "USD" to choose to convert Euro to HKD or USD to HKD respectively. Then, the program asks the user to input the amount of Euro or USD. After the users input the amount, the program shows the amount of HKD. + +> _\*Assume the user will input valid strings (i.e. "Euro" and "USD")_ + +### 4.2. Calculating the minimum number of coins + +When user chooses this function, the program calculates the minimum number of coins for corresponding amounts of dollars. User inputs an amount, then the program shows the minimum number of 10-dollar coins, 5-dollar coins, 2-dollar coins and 1-dollar coins. + +### 4.3. Calculating the total amount of principle and compound interest + +When user chooses this function, the program calculates the compound interest based on the inputted principle, interest rate and number of years compounded. User inputs principle, interest rate and number of years compounded, the program shows the total amount of principle and compound interest. + +> _You have to use while loop to finish this function. Otherwise, marks will be deducted._ + +## 5. Sample input and output + +All user inputs are bolded and underlined. + +### 1. When program starts, the program shows the menu (this part is already done for you) + +```bash +Welcome to IBS! Please choose one of the following functions +1. Converting Euro or USD to HKD +2. Calculating the minimum number of coins +3. Calculating the total amount of principle and compound interest +4. Quit +``` + +### 2. Convert Euro or USD to HKD + +```bash +Welcome to IBS! Please choose one of the following functions + +1. Converting Euro or USD to HKD +2. Calculating the minimum number of coins +3. Calculating the total amount of principle and compound interest +4. Quit +1 +Currency to be converted to HKD (Euro / USD): Euro +Amount to be converted: 10000 +10000.0 Euro = 80200.0 HKD +``` + +### 3. Calculate the minimum number of coins + +```bash +Welcome to IBS! Please choose one of the following functions +1. Converting Euro or USD to HKD +2. Calculating the minimum number of coins +3. Calculating the total amount of principle and compound interest +4. Quit +2 +Input an amount: 28 +The minimum numbers of coins for 21 dollars are: +10-dollar coin(s): 2 +5-dollar coin(s): 1 +2-dollar coin(s): 1 +1-dollar coin(s): 1 +``` + +> **HINTS:** +> +> - Use the division (/) and remainder (%) operators. +> - The inputted amount should be an integer. + +### 4. Calculating the total amount of principle and compound interest + +```bash +Welcome to IBS! Please choose one of the following functions + +1. Converting Euro or USD to HKD +2. Calculating the minimum number of coins +3. Calculating the total amount of principle and compound interest +4. Quit +3 +Input principle: 10000 +Input interest rate: 0.05 +Input number of years compounded: 4 +The total amount of principle and compound interest: 12155.0625 +``` + +> **HINTS:** +> +> - The inputted number of years should be integer. +> - Use while loop to finish this function. + +### 5. Quit the system (this part is already done for you) + +```bash +Welcome to IBS! Please choose one of the following functions +1. Converting Euro or USD to HKD +2. Calculating the minimum number of coins +3. Calculating the total amount of principle and compound interest +4. Quit +4 +Thanks for using IBS! Bye! +``` + +## 6. Hints + +- Use input() to get user input, for example: + +```bash +name = input("Enter your name:"); +# variable "name" will store the string inputted by user +``` + +- Use int() & input() to get user input and convert the datatype from string to integer, for example: + +```bash +amount = int(input("Enter an integer value:")); +# variable "amount" will store the integer inputted by user +``` + +- Use float() & input() to get user input and convert the datatype from string to floating-point number, for example: + +```bash +amount = float(input("Enter an floating-point value:")); +# variable "amount" will store the floating-point number inputted by user +``` + +## 7. Assumption + +- All user inputs are valid. +- You should copy the following code to the source file / online simulator to start your work. You are required to add codes of functions 1, 2 and 3 into the program. + +```python +""" +ITE3919 - Programming Essentials in Python (Mini Project) +Student Name: <> +Student No: <> +""" +EURO_RATE = 8.02 +USD_RATE = 7.75 + +while True: + print("Welcome to IBS! Please choose one of the following functions") + print("1. Converting Euro or USD to HKD") + print("2. Calculating the minimum number of coins") + print("3. Calculating the total amount of principle and compound interest") + print("4. Quit") + + command = input() + + if command == "1": + # add your code of Function 1 here + + elif command == "2": + # add your code of Function 2 here + + elif command == "3": + # add your code of Function 3 here + + elif command == "4": + print("Thanks for using IBS! Bye!") + break +``` + +## 8. Marking Criteria + +| Criteria | Proportion | +| --------------------------------------------------------------------------- | :--------: | +| Pseudo Code of Function 1 | 10% | +| Function 1: Converting Euro or USD to HKD | 10% | +| Function 2: Calculating the minimum number of coins | 10% | +| Function 3: Calculating the total amount of principle and compound interest | 5% | +| Program Style and Design | 5% | + +## 9. Deadline + +The deadline of this assignment is `DD/MMM/YYYY (WWW) HH:MM` **(GMT+8) according to Hong Kong Observatory Time**. + +## 10. Submission Guideline + +```python +""" +ITE3919 - Programming Essentials in Python (Mini Project) +Student Name:<> +Student No:<> +""" +``` + +✔️ Add the following information as comment at the beginning of your source code: + +✔️ Copy your source code from source file / online simulator to provided word file `EA Project*Answer Sheet*<>.docx` (e.g. `EA Project_Answer Sheet_ChanTaiMan.docx`) + +✔️ Submit the word file to Moodle + +✔️ For students who doesn’t follow the file name format, **marks will be deducted** + +## 11. Remarks + +✔️ This assignment worth 40% of the total course masrk + +✔️ This is an individual assignment. No collaboration work is allowed + +✔️ Plagiarism will be **SERIOUSLY PUNISHED**. All the plagiarism assignment will **receive 0 marks** + +✔️ Enjoy your work diff --git a/task1/gitUpdate.bat b/task1/gitUpdate.bat new file mode 100644 index 0000000..9f7faba --- /dev/null +++ b/task1/gitUpdate.bat @@ -0,0 +1,3 @@ +git add . +git commit -m"update ifkcof," +start git push diff --git a/task1/src/main.py b/task1/src/main.py new file mode 100644 index 0000000..81862df --- /dev/null +++ b/task1/src/main.py @@ -0,0 +1,103 @@ +""" +ITE3919 - Programming Essentials in Python (Mini Project) +Student Name: <> +Student No: <> +""" +EURO_RATE = 8.02 +USD_RATE = 7.75 + + +# from docx, +# Assumption +# - All user inputs are valid. + +while True: + print("Welcome to IBS! Please choose one of the following functions") + print("1. Converting Euro or USD to HKD") + print("2. Calculating the minimum number of coins") + print("3. Calculating the total amount of principle and compound interest") + print("4. Quit") + + command = input() + + if command == "1": + # add your code of Function 1 here + # Converting Euro and US dollars to Hong Kong Dollar + # When user chooses this function, user can convert Euro or USD to HKD. + # User inputs strings "Euro" or "USD" to choose to convert Euro to HKD or USD to HKD respectively. Then, the program asks the user to input the amount of Euro or USD. + # After the users input the amount, the program shows the amount of HKD. + + # Assume the user will input valid strings (i.e. "Euro" and "USD") + print("Currency to be converted to HKD (Euro / USD): " , end="") + currency = input() + + print("Amount to be converted: " , end="") + amount = float(input()) + + # init converted amount + converted_amount = amount + + # from Docx, Assume the user will input valid strings (i.e. "Euro" and "USD") + if currency == "Euro": + converted_amount = float(amount) * EURO_RATE + else: + converted_amount = float(amount) * USD_RATE + + print("{:.1f} {} = {:.1f} HKD".format(float(amount), currency, float(converted_amount))) + + elif command == "2": + # add your code of Function 2 here + # Calculating the minimum number of coins for corresponding amounts of dollars + # When user chooses this function, the program calculates the minimum number of coins for corresponding amounts of dollars. + # User inputs an amount, then the program shows the minimum number of 10-dollar coins, 5-dollar coins, 2-dollar coins and 1-dollar coins. + + print("Input an amount: ", end="") + amount = int(input()) + + print("The minimum numbers of coins for {} dollars are: ".format(amount)) + + # number of coins = quotient get divided by 10 + ten_dollar_coins = amount // 10 + remaining_amount = (amount - (ten_dollar_coins * 10)) + + # number of coins = quotient get divided by 5 + five_dollar_coins = remaining_amount // 5 + remaining_amount = (remaining_amount - (five_dollar_coins * 5)) + + # number of coins = quotient get divided by 2 + two_dollar_coins = remaining_amount // 2 + remaining_amount = (remaining_amount - (two_dollar_coins * 2)) + + one_dollar_coins = remaining_amount + + print("10-dollar coin(s): {}".format(ten_dollar_coins)) + print("5-dollar coin(s): {}".format(five_dollar_coins)) + print("2-dollar coin(s): {}".format(two_dollar_coins)) + print("1-dollar coin(s): {}".format(one_dollar_coins)) + + elif command == "3": + # add your code of Function 3 here + # Calculating the total amount of principle and compound interest + + # When user chooses this function, the program calculates the compound interest based on the inputted principle, interest rate and number of years compounded. + # User inputs principle, interest rate and number of years compounded, the program shows the total amount of principle and compound interest. + + print("Input principle: ", end="") + principle = float(input()) + + print("Input interest rate: ", end="") + intrest_rate = float(input()) + + print("Input number of years compounded: ", end="") + years = int(input()) + + # init total amount + total_amount = principle + for i in range(0, years): + total_amount = total_amount + (total_amount * (intrest_rate)) + + print("The total amount of principle and compound interest: {}".format(total_amount)) + + elif command == "4": + print("Thanks for using IBS! Bye!") + break