37 lines
1001 B
Python
37 lines
1001 B
Python
import math
|
|
|
|
|
|
def floatInput(prompt, min=-math.inf, max=math.inf):
|
|
assert min < max, 'ERROR: O valor mínimo é superior ao máximo!'
|
|
try:
|
|
res = float(input(prompt))
|
|
if (res < min) or (res > max):
|
|
print(f"ERROR: Value should be in [{min}, {max}]!")
|
|
floatInput(prompt, min, max)
|
|
return res
|
|
except ValueError:
|
|
print("ERROR: Not a float!")
|
|
floatInput(prompt)
|
|
|
|
|
|
def main():
|
|
print("a) Try entering invalid values such as 1/2 or 3,1416.")
|
|
v = floatInput("Value? ")
|
|
print("v:", v)
|
|
|
|
print("b) Try entering invalid values such as 15%, 110 or -1.")
|
|
h = floatInput("Humidity (%)? ", 0, 100)
|
|
print("h:", h)
|
|
|
|
print("c) Try entering invalid values such as 23C or -274.")
|
|
t = floatInput("Temperature (Celsius)? ", min=-273.15)
|
|
print("t:", t)
|
|
|
|
# d) What happens if you uncomment this?
|
|
# impossible = floatInput("Value in [3, 0]? ", min=3, max=0)
|
|
|
|
return
|
|
|
|
if __name__ == "__main__":
|
|
main()
|