Python-ECS 32A

2022/10/28 03:23 HW3.3 – ECS 32A | 草原学习
https://www.prairielearn.org/pl/course_instance/129586/instance_question/238707511/ variant_id=62257784 1/6
HW3.3。投资
马修花费的时间
30分钟
要提交的文件
投资.py
问题
对于这个问题,您将弄清楚在投资之前先还清贷款是否更有利,或者您是否应该只支付最低付款
并投资其余部分。
规格
利率以年利率给出(通常是这样给出的),但我们将在每个月初计算复利(这也是通常的
做法)。您需要在计算中使用月费率
要将年利率转换为月利率,请将年利率除以 12
在月初,您的贷款和投资都会产生利息。这应该是你每个月做的第一件事
如果退休后,用户仍然有贷款,他们将用他们的积蓄全部偿还。
这可能导致他们在退休时有负储蓄,这对这个问题很好,并且表明所尝试的策略是一
个糟糕的策略
假设
输入不会总是有效的
如果输入了无效输入,您应该不断要求用户输入,直到输入有效输入。
虽然输入可能并不总是有效的,但它总是属于正确的类型。
前任。如果用户应该输入一个整数,他们将只输入一个整数,而不会输入一个字符串
或浮点数
有效输入
贷款:大于等于0的实数
贷款年利率:大于等于0的实数
5% 将输入为 0.05
贷款最低还款额:大于等于0的实数
Investment Money:大于或等于最低贷款还款额的实数
当前年龄:大于等于 0 的整数
退休年龄:大于或等于您当前年龄的整数
投资年收益率:大于等于0的实数
5% 将输入为 0.05
要求
程序顶部必须有一个文档字符串来描述它的作用
程序中的每个函数
必须有一个文档字符串来描述它的作用
必须提示其参数和返回值类型
您的程序必须至少有 2 个用户定义的函数
限制
不能使用全局变量
除了调用“主”函数和导入语句之外,您可能没有任何函数之外的代码
贷款和投资演练
如果您不确定贷款和投资的运作方式,请观看此演练: https
://video.ucdavis.edu/media/t/1_xvwv94lw
提示
上一个问题
作业 3
评估概述
总积分: 200/300
分数: 66%
问题
历史:
总积分: 待办的 / 100
自动评分问题
报告这个问题的错误
下一个问题
附加的文件
没有附加文件
附加文件
附加文字
2022/10/28 03:23 HW3.3 – ECS 32A | 草原学习
https://www.prairielearn.org/pl/course_instance/129586/instance_question/238707511/ variant_id=62257784 2/6
这个问题虽然与我们在作业 1 中所做的每月付款公式有些相关,但并不相同,您不能在该问题
上使用该问题中涵盖的公式。
不要尝试查找此问题的封闭式解决方案。我不确定是否有一个并且程序要求您使用循环,所以如
果您找到一个,您将无法使用它。
当解决这个问题时,想想你在还清贷款/储蓄时会在现实生活中做什么,并让你的程序也这样
做。
由于您需要为程序输入大量输入,因此不要忘记您可以将输入放入文件中,然后将输入重定向到
您的程序,这样您就不必每次都键入它。
例子
在下面的示例中,用户输入已用斜体显示。你不必在你的程序中做任何斜体。它只是帮助您区分
输入和输出。
示例 1
输入您欠贷款的金额:40000
输入贷款的年利率:0.03
输入您的最低每月还款额:405.32
输入您每月将用于贷款/退休的金额:500
请输入您当前的年龄:22
输入您计划退休的年龄:65
输入您的预计年收益率:0.05
您应该只为您的贷款支付最低限度的款项,并将其余的投资
如果您这样做,您将获得592888.96美元,而不是退休时的 587281.54 美元。
示例 2
输入您欠贷款的金额:50000
输入贷款的年利率:0.06
输入您的最低每月贷款还款额:350
输入您每月将用于贷款/退休的金额:1053
请输入您当前的年龄:25
输入您计划退休的年龄:70
输入您的预计年收益率:0.05
您应该在开始投资之前支付所有贷款
如果你这样做,你将拥有1651149.44美元,而不是退休时的 1619732.68 美元。
示例 3
在此示例中,用户退休时仍将拥有 7961.19 美元。你不必打印这个我只是想让你知道这发生在这
个例子中。
输入您欠贷款的金额:10000
输入贷款的年利率:0.02
输入您的最低每月贷款还款额:100
输入您每月将用于贷款/退休的金额:500
请输入您当前的年龄:18
输入您计划退休的年龄:20
2022/10/28 03:23 HW3.3 – ECS 32A | 草原学习
https://www.prairielearn.org/pl/course_instance/129586/instance_question/238707511/ variant_id=62257784 3/6
输入您的预计年收益率:0.07
您应该只为您的贷款支付最低限度的款项,并将其余的投资
如果你这样做,你将拥有2311.22美元,而不是退休时的 1835.38 美元。
示例 4
Enter how much money you owe in loans: -5
Enter how much money you owe in loans: 1000
Enter the annual interest rate of the loans: -3
Enter the annual interest rate of the loans: 0.02
Enter your minimum monthly loan payment: -89
Enter your minimum monthly loan payment: 50
Enter how much money you will be putting towards loans/retirement each month: 5
Enter how much money you will be putting towards loans/retirement each month: 3
Enter how much money you will be putting towards loans/retirement each month: 100
Enter your current age: -8
Enter your current age: 50
Enter the age you plan to retire at: 35
Enter the age you plan to retire at: -8
Enter the age you plan to retire at: 60
Enter your predicted annual rate of return: -14
Enter your predicted annual rate of return: .07
You should only make minimum payments on your loans and invest the rest
If you do you will have $15384.97 as opposed to $15344.34 when you retire.
Drop files here or click to upload.
Only the files listed below will be accepted—others will be ignored.
The combined size limit of all uploaded files is 5MB.
Files
investments.py
uploaded
Download Show preview
Save & Grade Unlimited attempts Save only
Can only be graded once every 3 minutes
Submitted answer 3
Submitted at 2022-10-27 23:43:36 (PDT)
0% hide
Score: 0/30 (0%)
Message
Ran 30 of 30 available tests.
2022/10/28 03:23 HW3.3 – ECS 32A | 草原学习
https://www.prairielearn.org/pl/course_instance/129586/instance_question/238707511/ variant_id=62257784 4/6
Test Results
The results of 30 of the tests ran are visible to you
while the results of the remaining 0 tests are hidden.
Visible Tests
Passed 0 of the 30 visible tests run.
Failed 30 of the 30 visible tests run.
Hidden Tests
Passed 0 of the 0 hidden tests run.
Failed 0 of the 0 hidden tests run.
Overall Results
Passed 0 of ALL 30 tests run.
Failed 30 of ALL 30 tests run.
Score: 0.0%
Go to https://www.diffchecker.com to help find the differences between your output
and the expected output.
[0/1] Bad Input Test. Input = TestInput(loans=’-3565.02n-
3214.12n19252.33′, loan_annual_interest=’-4.05n0.01′,
loan_minimum_payment=’38.58′,
investment_money=’35.79n27.56n8.91n234.95′, current_age=’-67n91′,
retirement_age=’133′, investment_returns=’-3.54n-0.87n0.12′)
[0/1] Bad Input Test. Input = TestInput(loans=’10144.38′,
loan_annual_interest=’0.17′, loan_minimum_payment=’-2019.35n-
1606.05n40.62′, investment_money=’3.39n16.76n0.36n374.7′,
current_age=’-72n-39n-62n65′, retirement_age=’95’,
investment_returns=’0.02′)
[0/1] Bad Input Test. Input = TestInput(loans=’-4921.06n4759.88′,
loan_annual_interest=’0.13′, loan_minimum_payment=’21.33′,
investment_money=’148.33′, current_age=’-17n32′,
retirement_age=’17n10n6n81′, investment_returns=’-1.62n-0.21n0.16′)
[0/1] Bad Input Test. Input = TestInput(loans=’19682.16′,
loan_annual_interest=’-3.0n0.16′, loan_minimum_payment=’36.41′,
investment_money=’25.23n32.35n18.45n358.26′, current_age=’0′,
retirement_age=’-9n-2n39′, investment_returns=’0.1′)
[0/1] Bad Input Test. Input = TestInput(loans=’-4228.79n-1787.75n-
135.38n18646.61′, loan_annual_interest=’-3.39n-2.92n0.1′,
loan_minimum_payment=’152.75′, investment_money=’317.72′,
current_age=’-7n93′, retirement_age=’74n113′, investment_returns=’-0.06n-
2.75n0.03′)
[0/1] Bad Input Test. Input = TestInput(loans=’7781.98′,
loan_annual_interest=’0.03′, loan_minimum_payment=’-2429.39n-1739.0n-
2526.34n41.72′, investment_money=’248.37′, current_age=’-95n-58n-58n66′,
retirement_age=’55n95′, investment_returns=’-2.14n-4.15n-4.49n0.1′)
[0/1] Bad Input Test. Input = TestInput(loans=’-2560.92n10370.3′,
loan_annual_interest=’-0.28n-0.5n0.03′,
loan_minimum_payment=’-4234.66n45.39′, investment_money=’30.4n273.81′,
current_age=’-57n-60n-20n78′, retirement_age=’43n38n66n121′,
investment_returns=’-4.43n0.15′)
[0/1] Bad Input Test. Input = TestInput(loans=’-2080.43n-2943.33n-
646.56n19219.71′, loan_annual_interest=’-3.39n-1.51n0.15′,
2022/10/28 03:23 HW3.3 – ECS 32A | 草原学习
https://www.prairielearn.org/pl/course_instance/129586/instance_question/238707511/ variant_id=62257784 5/6
loan_minimum_payment=’-3022.02n-4125.66n108.83′,
investment_money=’32.07n44.83n497.34′, current_age=’-36n77′,
retirement_age=’110′, investment_returns=’-1.45n-1.5n-4.91n0.11′)
[0/1] Bad Input Test. Input = TestInput(loans=’18174.78′,
loan_annual_interest=’-0.85n-2.06n0.14′, loan_minimum_payment=’74.68′,
investment_money=’494.35′, current_age=’-88n-26n-67n30′,
retirement_age=’62’, investment_returns=’0.17′)
[0/1] Bad Input Test. Input = TestInput(loans=’6117.52′,
loan_annual_interest=’-3.16n-1.65n-2.56n0.16′,
loan_minimum_payment=’13.04′, investment_money=’0.24n1.59n329.09′,
current_age=’-54n-42n56′, retirement_age=’30n103′,
investment_returns=’-3.53n-0.86n-0.97n0.01′)
[0/1] Input = TestInput(loans=12994.61, loan_annual_interest=0.02,
loan_minimum_payment=3139.92, investment_money=3915.84, current_age=13,
retirement_age=86, investment_returns=0.08)
[0/1] Input = TestInput(loans=5368.21, loan_annual_interest=0.07,
loan_minimum_payment=1658.73, investment_money=5270.9, current_age=46,
retirement_age=57, investment_returns=0.07)
[0/1] Input = TestInput(loans=39463.86, loan_annual_interest=0.07,
loan_minimum_payment=2813.8, investment_money=3672.65, current_age=32,
retirement_age=85, investment_returns=0.03)
[0/1] Input = TestInput(loans=16137.38, loan_annual_interest=0.06,
loan_minimum_payment=3437.6, investment_money=5503.81, current_age=46,
retirement_age=66, investment_returns=0.05)
[0/1] Input = TestInput(loans=1053.97, loan_annual_interest=0.04,
loan_minimum_payment=4855.71, investment_money=5498.0, current_age=7,
retirement_age=53, investment_returns=0.06)
[0/1] Input = TestInput(loans=37073.01, loan_annual_interest=0.06,
loan_minimum_payment=72.01, investment_money=5841.42, current_age=45,
retirement_age=100, investment_returns=0.04)
[0/1] Input = TestInput(loans=12891.66, loan_annual_interest=0.06,
loan_minimum_payment=49.61, investment_money=6058.39, current_age=37,
retirement_age=56, investment_returns=0.06)
[0/1] Input = TestInput(loans=24932.96, loan_annual_interest=0.01,
loan_minimum_payment=583.51, investment_money=5042.84, current_age=32,
retirement_age=58, investment_returns=0.1)
[0/1] Input = TestInput(loans=28355.97, loan_annual_interest=0.0,
loan_minimum_payment=1833.46, investment_money=3859.07, current_age=15,
retirement_age=61, investment_returns=0.02)
[0/1] Input = TestInput(loans=6592.75, loan_annual_interest=0.02,
loan_minimum_payment=0.82, investment_money=5941.55, current_age=42,
retirement_age=49, investment_returns=0.06)
[0/1] Input = TestInput(loans=43637.81, loan_annual_interest=0.01,
loan_minimum_payment=768.81, investment_money=6234.94, current_age=13,
retirement_age=64, investment_returns=0.02)
2022/10/28 03:23 HW3.3 – ECS 32A | 草原学习
https://www.prairielearn.org/pl/course_instance/129586/instance_question/238707511/ variant_id=62257784 6/6
[0/1] Input = TestInput(loans=4613.35, loan_annual_interest=0.07,
loan_minimum_payment=97.52, investment_money=4772.86, current_age=33,
retirement_age=40, investment_returns=0.08)
[0/1] Input = TestInput(loans=40350.44, loan_annual_interest=0.04,
loan_minimum_payment=4357.65, investment_money=6671.79, current_age=17,
retirement_age=98, investment_returns=0.01)
[0/1] Input = TestInput(loans=807.7, loan_annual_interest=0.03,
loan_minimum_payment=404.62, investment_money=3957.8, current_age=30,
retirement_age=55, investment_returns=0.04)
[0/1] Input = TestInput(loans=38703.67, loan_annual_interest=0.05,
loan_minimum_payment=4606.68, investment_money=6906.07, current_age=31,
retirement_age=86, investment_returns=0.02)
[0/1] Input = TestInput(loans=8129.21, loan_annual_interest=0.08,
loan_minimum_payment=2651.98, investment_money=6081.18, current_age=21,
retirement_age=91, investment_returns=0.09)
[0/1] Input = TestInput(loans=17274.6, loan_annual_interest=0.02,
loan_minimum_payment=1455.24, investment_money=3241.94, current_age=41,
retirement_age=58, investment_returns=0.04)
[0/1] Input = TestInput(loans=9335.76, loan_annual_interest=0.1,
loan_minimum_payment=2846.11, investment_money=4258.94, current_age=12,
retirement_age=64, investment_returns=0.0)
[0/1] 输入 = TestInput(loans=23264.71,loans_annual_interest=0.04,
loan_minimum_payment=3277.16,investment_money=4630.32,
current_age=18,retirement_age=92,investment_returns=0.04)
[0/1] 输入 = TestInput(loans=9263.4,loan_annual_interest=0.02,
loan_minimum_payment=4495.68,investment_money=4992.09,
current_age=9,retirement_age=36,investment_returns=0.02)
文件
投资.py
上传
下载 Show preview
提交的答案 2
提交于 2022-10-27 21:58:10 (PDT)
0% show
提交的答案 1
提交于 2022-10-26 23:34:29 (PDT)
0% show