- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
import math
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--type")
parser.add_argument("--principal", type=int)
parser.add_argument("--periods", type=int)
parser.add_argument("--interest", type=float)
parser.add_argument("--payment", type=float)
args = parser.parse_args()
choose = args.type
p = args.principal
n = args.periods
i = args.interest
a = args.payment
if i is None or p is None and a is None:
print("Incorrect parameters.")
exit(0)
i = (i * 0.01) / (12 * 1)
if choose == "diff":
m = 1
overpayment_all = 0
while m <= n:
d = math.ceil(p / n + i * (p - ((p * (m - 1)) / n)))
m += 1
overpayment_all += d
print(f"Month {m - 1}: payment is {d}")
print()
print(f"Overpayment = {overpayment_all - p}")
elif choose == "annuity" and a is None:
a = math.ceil(p * (i * math.pow((1 + i), n)) / (math.pow((1 + i), n) - 1))
print(f"Your monthly payment = {a}!")
over = a * n - p
print(f"Overpayment = {math.ceil(over)}")
elif choose == "annuity" and p is None:
p = int(a / (i * math.pow(1 + i, n) / (math.pow(1 + i, n) - 1)))
print(f"Your loan principal = {p}!")
m = 1
over = a * n - p
print(f"Overpayment = {math.ceil(over)}")
elif choose == "annuity":
n = math.ceil(math.log(a / (a - i * p), 1 + i))
zxc = math.ceil(math.log(a / (a - i * p), 1 + i))
years = 0
while n >= 12:
n -= 12
years += 1
if years == 0:
print(f"It will take {n} months to repay this loan!")
over = a * zxc - p
print(f"Overpayment = {math.ceil(over)}")
elif n == 0:
print(f"It will take {years} years to repay this loan!")
over = a * zxc - p
print(f"Overpayment = {math.ceil(over)}")
else:
print(f"It will take {years} years and {n} months to repay this loan!")
over = a * zxc - p
print(f"Overpayment = {math.ceil(over)}")
Ебучий универ и ебучее задание на питоне. Всё было бы збс, если бы не математика.
Прога считает проценты, бабки, переплаты и чёт ещё, наверное
6e3By3HbIu_nemyx 26.02.2021 00:00 # +1
warzon131 26.02.2021 00:00 # 0
guest6 26.02.2021 02:39 # 0
а чо, в --type" нельзя запихать список значений? argparse разве так не может?
bormand 26.02.2021 12:09 # 0
Desktop 26.02.2021 14:38 # +1
MAKAKA 26.02.2021 17:42 # +1
смысл argparse в том, что бы человек сказал --help, и понял как пользоваться твоим софтом
bormand 26.02.2021 17:57 # +1
Desktop 26.02.2021 14:40 # 0
guest6 26.02.2021 15:34 # 0
в чем вообшще смысл аргпарса?
bormand 26.02.2021 15:59 # 0
JloJle4Ka 26.02.2021 12:25 # 0
А ещё нужно Decimal использовать для вычислений, а то деньги проебутся.
Fike 02.03.2021 00:45 # 0