From db184fe601da6463401e5cfdc78834346a0f689e Mon Sep 17 00:00:00 2001 From: h7x4 Date: Mon, 31 Aug 2020 23:16:07 +0200 Subject: [PATCH] add inputTypeCheck to common files --- .gitignore | 1 + Exercise 1/10 - Bakekurs/10-a.py | 2 ++ Exercise 1/10 - Bakekurs/common.py | 7 +++++++ .../11 - James Bond and Operation Round/11-a.py | 10 +--------- .../11 - James Bond and Operation Round/11-b.py | 9 +-------- .../common.py | 7 +++++++ Exercise 1/8 - Vitenskapelig notasjon/8-a.py | 14 ++++++++++++-- Exercise 1/8 - Vitenskapelig notasjon/8-b.py | 2 ++ Exercise 1/8 - Vitenskapelig notasjon/common.py | 7 +++++++ Exercise 1/9 - Tetraeder.py | 17 ++++++++++++++++- Exercise 1/common.py | 7 +++++++ 11 files changed, 63 insertions(+), 20 deletions(-) create mode 100644 .gitignore create mode 100644 Exercise 1/10 - Bakekurs/common.py create mode 100644 Exercise 1/11 - James Bond and Operation Round/common.py create mode 100644 Exercise 1/8 - Vitenskapelig notasjon/common.py create mode 100644 Exercise 1/common.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ed8ebf5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__ \ No newline at end of file diff --git a/Exercise 1/10 - Bakekurs/10-a.py b/Exercise 1/10 - Bakekurs/10-a.py index fbdc497..631936b 100644 --- a/Exercise 1/10 - Bakekurs/10-a.py +++ b/Exercise 1/10 - Bakekurs/10-a.py @@ -1,3 +1,5 @@ +from common import inputTypeCheck + class recipe: def __init__(self, ingredients, standardPortions): self.ingredients = ingredients diff --git a/Exercise 1/10 - Bakekurs/common.py b/Exercise 1/10 - Bakekurs/common.py new file mode 100644 index 0000000..5e70eba --- /dev/null +++ b/Exercise 1/10 - Bakekurs/common.py @@ -0,0 +1,7 @@ +def inputTypeCheck(message, type, errorMessage): + while True: + inputValue = input(message) + try: + return type(inputValue) + except ValueError: + print(errorMessage) \ No newline at end of file diff --git a/Exercise 1/11 - James Bond and Operation Round/11-a.py b/Exercise 1/11 - James Bond and Operation Round/11-a.py index dee1c46..f9a59d4 100644 --- a/Exercise 1/11 - James Bond and Operation Round/11-a.py +++ b/Exercise 1/11 - James Bond and Operation Round/11-a.py @@ -1,5 +1,5 @@ - import math +from common import inputTypeCheck # Bump the decimal point up by numberOfDecimal points, # add 0.5 to make floor go from 0-1 to 0.5-1.5, @@ -12,14 +12,6 @@ def removeEmptyDecimals(number): hasEmptyDecimals = (number == int(number)) return int(number) if hasEmptyDecimals else number -def inputTypeCheck(message, type, errorMessage): - while True: - inputValue = input(message) - try: - return type(inputValue) - except ValueError: - print(errorMessage) - number = inputTypeCheck( message='Gi inn et desimaltall: ', type=float, diff --git a/Exercise 1/11 - James Bond and Operation Round/11-b.py b/Exercise 1/11 - James Bond and Operation Round/11-b.py index bae11f4..ac7d88e 100644 --- a/Exercise 1/11 - James Bond and Operation Round/11-b.py +++ b/Exercise 1/11 - James Bond and Operation Round/11-b.py @@ -1,12 +1,5 @@ import math - -def inputTypeCheck(message, type, errorMessage): - while True: - inputValue = input(message) - try: - return type(inputValue) - except ValueError: - print(errorMessage) +from common import inputTypeCheck def removeEmptyDecimals(number): hasEmptyDecimals = (number == int(number)) diff --git a/Exercise 1/11 - James Bond and Operation Round/common.py b/Exercise 1/11 - James Bond and Operation Round/common.py new file mode 100644 index 0000000..5e70eba --- /dev/null +++ b/Exercise 1/11 - James Bond and Operation Round/common.py @@ -0,0 +1,7 @@ +def inputTypeCheck(message, type, errorMessage): + while True: + inputValue = input(message) + try: + return type(inputValue) + except ValueError: + print(errorMessage) \ No newline at end of file diff --git a/Exercise 1/8 - Vitenskapelig notasjon/8-a.py b/Exercise 1/8 - Vitenskapelig notasjon/8-a.py index 07811fc..ffe506b 100644 --- a/Exercise 1/8 - Vitenskapelig notasjon/8-a.py +++ b/Exercise 1/8 - Vitenskapelig notasjon/8-a.py @@ -1,8 +1,18 @@ +from common import inputTypeCheck + AVOGADROS_CONSTANT = 6.022e23 substance = input('Si et stoff du er i besittelse av: ') -weight = float(input('Hva er molvekt i gram for vann? ')) -amount = float(input('Hvor mange gram vann har du? ')) +weight = inputTypeCheck( + message='Hva er molvekt i gram for vann? ', + type=float, + errorMessage='Beklager, det du skrev inn er ikke et heltall. Prøv igjen\n' +) +amount = inputTypeCheck( + message='Hvor mange gram vann har du? ', + type=float, + errorMessage='Beklager, det du skrev inn er ikke et heltall. Prøv igjen\n' +) numberOfMolecules = (amount * AVOGADROS_CONSTANT / weight) print(f'Du har {format(numberOfMolecules, ".1e")} molekyler {substance.lower()}') \ No newline at end of file diff --git a/Exercise 1/8 - Vitenskapelig notasjon/8-b.py b/Exercise 1/8 - Vitenskapelig notasjon/8-b.py index e284ddf..c4ed1ac 100644 --- a/Exercise 1/8 - Vitenskapelig notasjon/8-b.py +++ b/Exercise 1/8 - Vitenskapelig notasjon/8-b.py @@ -1,3 +1,5 @@ +from common import inputTypeCheck + AMOUNT_OF_POSSIBLE_MELODIES = 8.25e19 melodiesHeard = int(input('Antall ulike 10-toners melodilinjer du har hørt? ')) diff --git a/Exercise 1/8 - Vitenskapelig notasjon/common.py b/Exercise 1/8 - Vitenskapelig notasjon/common.py new file mode 100644 index 0000000..5e70eba --- /dev/null +++ b/Exercise 1/8 - Vitenskapelig notasjon/common.py @@ -0,0 +1,7 @@ +def inputTypeCheck(message, type, errorMessage): + while True: + inputValue = input(message) + try: + return type(inputValue) + except ValueError: + print(errorMessage) \ No newline at end of file diff --git a/Exercise 1/9 - Tetraeder.py b/Exercise 1/9 - Tetraeder.py index 9bd2949..bb75afa 100644 --- a/Exercise 1/9 - Tetraeder.py +++ b/Exercise 1/9 - Tetraeder.py @@ -1,5 +1,13 @@ from math import sqrt +def inputTypeCheck(message, type, errorMessage): + while True: + inputValue = input(message) + try: + return type(inputValue) + except ValueError: + print(errorMessage) + class Tetraeder: def __init__(self, length): self.length = length @@ -13,5 +21,12 @@ print(f'Et tetraeder med høyde {figure1.length} har areal {figure1.getArea()}') print(f'Et tetraeder med høyde {figure1.length} har volum {figure1.getVolume()}') print() -figure2 = Tetraeder(float(input('Skriv inn en høyde: '))) +figure2 = Tetraeder( + inputTypeCheck( + message='Skriv inn en høyde: ', + type=int, + errorMessage='Beklager, det du skrev inn er ikke et heltall. Prøv igjen\n' + ) +) + print(f'Et tetraeder med høyde {figure1.length} har volum {figure2.getVolume()} og areal {figure2.getArea()}') \ No newline at end of file diff --git a/Exercise 1/common.py b/Exercise 1/common.py new file mode 100644 index 0000000..5e70eba --- /dev/null +++ b/Exercise 1/common.py @@ -0,0 +1,7 @@ +def inputTypeCheck(message, type, errorMessage): + while True: + inputValue = input(message) + try: + return type(inputValue) + except ValueError: + print(errorMessage) \ No newline at end of file