From 3b91b26e68894e681adb8d2b31faa0d296bcce12 Mon Sep 17 00:00:00 2001 From: nabil el assal Date: Mon, 1 Jun 2020 18:20:42 +0200 Subject: [PATCH 1/2] add sears.py file --- Work/bounce.py | 5 +++++ Work/sears.py | 15 +++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 Work/sears.py diff --git a/Work/bounce.py b/Work/bounce.py index 3660ddd82..ce10ec5dc 100644 --- a/Work/bounce.py +++ b/Work/bounce.py @@ -1,3 +1,8 @@ # bounce.py # # Exercise 1.5 +h = 100 +for i in range(10): + rebound = round((h*3/5), 4) + print(rebound) + h = rebound diff --git a/Work/sears.py b/Work/sears.py new file mode 100644 index 000000000..df968fff7 --- /dev/null +++ b/Work/sears.py @@ -0,0 +1,15 @@ +# sears.py + +bill_thickness = 0.11 * 0.001 # Meters (0.11 mm) +sears_height = 442 # Height (meters) +num_bills = 1 +day = 1 + +while num_bills * bill_thickness < sears_height: + print(day, num_bills, num_bills * bill_thickness) + day = day + 1 + num_bills = num_bills * 2 + +print('Number of days', day) +print('Number of bills', num_bills) +print('Final height', num_bills * bill_thickness) From d6dbb70f1d20082e3372875e9ffc51a5025e1602 Mon Sep 17 00:00:00 2001 From: nabil el assal Date: Tue, 9 Jun 2020 18:23:57 +0200 Subject: [PATCH 2/2] add execices 1.8 to 1.27 --- Work/ex 1.8-1.11/extrapayments.py | 20 ++++++++++++ Work/ex 1.8-1.11/makingATable.py | 25 +++++++++++++++ .../makingAnExtraPaymentCalculator.py | 24 ++++++++++++++ Work/ex 1.8-1.11/mortgageBonus.py | 31 +++++++++++++++++++ Work/mortgage.py | 13 +++++++- Work/pcost.py | 8 +++++ 6 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 Work/ex 1.8-1.11/extrapayments.py create mode 100644 Work/ex 1.8-1.11/makingATable.py create mode 100644 Work/ex 1.8-1.11/makingAnExtraPaymentCalculator.py create mode 100644 Work/ex 1.8-1.11/mortgageBonus.py diff --git a/Work/ex 1.8-1.11/extrapayments.py b/Work/ex 1.8-1.11/extrapayments.py new file mode 100644 index 000000000..b2000f578 --- /dev/null +++ b/Work/ex 1.8-1.11/extrapayments.py @@ -0,0 +1,20 @@ +# extrapayments.py +# +# Exercise 1.8: Extra payments + +pret = 500000 +interet = 0.05 +mensualite = 2684.11 +extra = 1000 +payement_total = 0 +month = 0 +for i in range(12): + pret = pret * (1+interet/12) - mensualite - extra + payement_total += mensualite + extra + month += 1 +while pret > 0: + + pret = pret * (1+interet/12) - mensualite + payement_total += mensualite + month += 1 +print(f'Payement total: {round(payement_total, 2)} en {month} mois.') diff --git a/Work/ex 1.8-1.11/makingATable.py b/Work/ex 1.8-1.11/makingATable.py new file mode 100644 index 000000000..d90534f2c --- /dev/null +++ b/Work/ex 1.8-1.11/makingATable.py @@ -0,0 +1,25 @@ +# makingATable.py +# +# Exercise 1.10: Making a table + +pret = 500000 +interet = 0.05 +mensualite = 2684.11 + +extra_payment_start_month = 60 # int(input('Wath\'s your extra payment start month: ')) +extra_payment_end_month = 108 # int(input('Wath\'s your extra payment end month: ')) +extra_payment = 1000 # int(input('Wath\'s your extra payment: ')) + +total_paid = 0 +month = 0 + +while pret > 0: + pret = pret * (1+interet/12) - mensualite + total_paid += mensualite + month += 1 + print(f'{month} {round(total_paid, 2)} {round(pret, 2)} ') + if month >= extra_payment_start_month and month <= extra_payment_end_month: + pret -= extra_payment + total_paid += extra_payment + +print(f'Payement total: {round(total_paid, 2)} en {month} mois.') diff --git a/Work/ex 1.8-1.11/makingAnExtraPaymentCalculator.py b/Work/ex 1.8-1.11/makingAnExtraPaymentCalculator.py new file mode 100644 index 000000000..d6a962ff2 --- /dev/null +++ b/Work/ex 1.8-1.11/makingAnExtraPaymentCalculator.py @@ -0,0 +1,24 @@ +# makingAnExtraPaymentCalculator.py +# +# Exercise 1.9: Making an Extra Payment Calculator + +pret = 500000 +interet = 0.05 +mensualite = 2684.11 + +extra_payment_start_month = 60 # int(input('Wath\'s your extra payment start month: ')) +extra_payment_end_month = 108 # int(input('Wath\'s your extra payment end month: ')) +extra_payment = 1000 # int(input('Wath\'s your extra payment: ')) + +total_paid = 0 +month = 0 + +while pret > 0: + + pret = pret * (1+interet/12) - mensualite + total_paid += mensualite + month += 1 + if month >= extra_payment_start_month and month <= extra_payment_end_month: + pret -= extra_payment + total_paid += extra_payment +print(f'Payement total: {round(total_paid, 2)} en {month} mois.') diff --git a/Work/ex 1.8-1.11/mortgageBonus.py b/Work/ex 1.8-1.11/mortgageBonus.py new file mode 100644 index 000000000..d2d023699 --- /dev/null +++ b/Work/ex 1.8-1.11/mortgageBonus.py @@ -0,0 +1,31 @@ +# mortgageBonus.py +# +# Exercise 1.11: Bonus +pret = 500000 +interet = 0.05 +mensualite = 2684.11 + +extra_payment_start_month = 60 # int(input('Wath\'s your extra payment start month: ')) +extra_payment_end_month = 108 # int(input('Wath\'s your extra payment end month: ')) +extra_payment = 1000 # int(input('Wath\'s your extra payment: ')) + +total_paid = 0 +month = 0 + +while pret > 0: + if pret < mensualite: + mensualite = pret + pret -= mensualite + total_paid += mensualite + month += 1 + print(f'{month} {round(total_paid, 2)} {round(pret, 2)} ') + else: + pret = pret * (1+interet/12) - mensualite + total_paid += mensualite + month += 1 + print(f'{month} {round(total_paid, 2)} {round(pret, 2)} ') + if month >= extra_payment_start_month and month <= extra_payment_end_month: + pret -= extra_payment + total_paid += extra_payment + +print(f'Payement total: {round(total_paid, 2)} en {month} mois.') \ No newline at end of file diff --git a/Work/mortgage.py b/Work/mortgage.py index d527314e3..ad750c4a8 100644 --- a/Work/mortgage.py +++ b/Work/mortgage.py @@ -1,3 +1,14 @@ # mortgage.py # -# Exercise 1.7 +# Exercise 1.7: Dave’s mortgage + +pret = 500000 +interet = 0.05 +mensualite = 2684.11 +payement_total = 0 + +while pret > 0: + pret = pret * (1+interet/12) - mensualite + payement_total += mensualite + +print(round(payement_total, 1)) \ No newline at end of file diff --git a/Work/pcost.py b/Work/pcost.py index e68aa20b4..231adbc10 100644 --- a/Work/pcost.py +++ b/Work/pcost.py @@ -1,3 +1,11 @@ # pcost.py # # Exercise 1.27 + +with open('Data/portfolio.csv', 'r') as f: + header = next(f) + total = 0 + for line in f: + l = line.split(',') + total += int(l[1]) * float(l[2]) + print(f'Total cost: {total}')