Finish implementing common inputTypeCheck
This commit is contained in:
parent
db184fe601
commit
ca709b34ce
|
@ -21,7 +21,11 @@ cookies = recipe(
|
|||
standardPortions=48,
|
||||
)
|
||||
|
||||
cookieNumber = int(input('Hvor mange cookies ønsker du å bake? '))
|
||||
cookieNumber = inputTypeCheck(
|
||||
message = 'Hvor mange cookies ønsker du å bake? ',
|
||||
type = float,
|
||||
errorMessage = 'Beklager, det du skrev inn er ikke et tall. Prøv igjen\n'
|
||||
)
|
||||
|
||||
print('Antall cookies:', cookieNumber)
|
||||
cookies.getIngredients(cookieNumber)
|
|
@ -35,32 +35,24 @@ def myRoundFunction(integerPart,decimalPart,amountOfDecimals):
|
|||
else:
|
||||
return addPointAtOffset(int(numberString[:roundOffset]) + 1, decimalOffset)
|
||||
|
||||
def main():
|
||||
integerPart = inputTypeCheck(
|
||||
message='Oppgi heltallsdelen av tallet (det foran punktum): ',
|
||||
type=int,
|
||||
errorMessage='Beklager, det du skrev inn er ikke et heltall. Prøv igjen\n'
|
||||
)
|
||||
integerPart = inputTypeCheck(
|
||||
message='Oppgi heltallsdelen av tallet (det foran punktum): ',
|
||||
type=int,
|
||||
errorMessage='Beklager, det du skrev inn er ikke et heltall. Prøv igjen\n'
|
||||
)
|
||||
|
||||
decimalPart = inputTypeCheck(
|
||||
message='Oppgi desimaldelen av tallet (det bak punktum): ',
|
||||
type=int,
|
||||
errorMessage='Beklager, dette er ikke et tall, eller inneholder et desimalpunkt. Prøv igjen\n'
|
||||
)
|
||||
decimalPart = inputTypeCheck(
|
||||
message='Oppgi desimaldelen av tallet (det bak punktum): ',
|
||||
type=int,
|
||||
errorMessage='Beklager, dette er ikke et tall, eller inneholder et desimalpunkt. Prøv igjen\n'
|
||||
)
|
||||
|
||||
amountOfDecimals = inputTypeCheck(
|
||||
message='Oppgi ønsket antall desimaler i avrunding: ',
|
||||
type=int,
|
||||
errorMessage='Beklager, det du skrev inn er ikke et heltall. Prøv igjen\n'
|
||||
)
|
||||
amountOfDecimals = inputTypeCheck(
|
||||
message='Oppgi ønsket antall desimaler i avrunding: ',
|
||||
type=int,
|
||||
errorMessage='Beklager, det du skrev inn er ikke et heltall. Prøv igjen\n'
|
||||
)
|
||||
|
||||
roundedNumber = removeEmptyDecimals(myRoundFunction(integerPart, decimalPart, amountOfDecimals))
|
||||
roundedNumber = removeEmptyDecimals(myRoundFunction(integerPart, decimalPart, amountOfDecimals))
|
||||
|
||||
print(f'{integerPart}.{decimalPart} avrundet til {amountOfDecimals} desimaler blir {roundedNumber}')
|
||||
|
||||
def test():
|
||||
print(myRoundFunction(2, 5, 0))
|
||||
print(myRoundFunction(2, 15, 1))
|
||||
print(myRoundFunction(2, 500000000000000000001, 0))
|
||||
|
||||
main()
|
||||
print(f'{integerPart}.{decimalPart} avrundet til {amountOfDecimals} desimaler blir {roundedNumber}')
|
|
@ -6,12 +6,12 @@ substance = input('Si et stoff du er i besittelse av: ')
|
|||
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'
|
||||
errorMessage='Beklager, det du skrev inn er ikke et tall. 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'
|
||||
errorMessage='Beklager, det du skrev inn er ikke et tall. Prøv igjen\n'
|
||||
)
|
||||
|
||||
numberOfMolecules = (amount * AVOGADROS_CONSTANT / weight)
|
||||
|
|
|
@ -2,7 +2,11 @@ from common import inputTypeCheck
|
|||
|
||||
AMOUNT_OF_POSSIBLE_MELODIES = 8.25e19
|
||||
|
||||
melodiesHeard = int(input('Antall ulike 10-toners melodilinjer du har hørt? '))
|
||||
melodiesHeard = inputTypeCheck(
|
||||
message = 'Antall ulike 10-toners melodilinjer du har hørt? ',
|
||||
type = int,
|
||||
errorMessage='Beklager, det du skrev inn er ikke et heltall. Prøv igjen\n'
|
||||
)
|
||||
|
||||
percentMelodiesHeard = melodiesHeard / AMOUNT_OF_POSSIBLE_MELODIES * 100
|
||||
|
||||
|
|
|
@ -1,12 +1,5 @@
|
|||
from math import sqrt
|
||||
|
||||
def inputTypeCheck(message, type, errorMessage):
|
||||
while True:
|
||||
inputValue = input(message)
|
||||
try:
|
||||
return type(inputValue)
|
||||
except ValueError:
|
||||
print(errorMessage)
|
||||
from common import inputTypeCheck
|
||||
|
||||
class Tetraeder:
|
||||
def __init__(self, length):
|
||||
|
@ -24,8 +17,8 @@ print()
|
|||
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'
|
||||
type=float,
|
||||
errorMessage='Beklager, det du skrev inn er ikke et tall. Prøv igjen\n'
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
# Exercise 1
|
||||
|
||||
## About `common.py`
|
||||
I've copied the function inputTypeCheck() into a common.py for each directory. Normally, I would've made it a module, but to avoid system specific bugs, I've decided not edit global environment variables like PYTHONPATH or edit the sys.path. This means, at least as far as I know, that I can't use relative imports.
|
Loading…
Reference in New Issue