+ 1
How to rewrite this code without a while True loop?What should be instead of True?
The loop should be a while loop and i dont think for loops would work here but the question is what should i write instead of True? https://code.sololearn.com/cvVAYPF9TsE0/?ref=app The code itself is about an american who visits a european sauna and has to enter the temperature in farenheit, the conditions and the functions works fine and its just that im not allowed to use an infinite loop.
9 Respostas
+ 1
def fahr_to_cel(fah):
y = (fah - 32) * 5 / 9
return y
def get_fahr():
degrees = None
try:
degrees = int(input('Choose a temperature between 82-87 degrees Celsius: '))
except:
print("\nInput error")
return degrees
f = get_fahr()
c = None if f is None else fahr_to_cel(f)
while f is None or (not (82 <= c <= 87)):
print("Wrong input: {0}F => {1}C".format(f,c))
f = get_fahr()
c = None if f is None else fahr_to_cel(f)
print("\nYou can now enter. The temperature will be adjusted shortly.")
+ 1
Brian Works!!Just one thing when i type in letters instead of numbers, i get two things printed out: input error and wrong input, only one of those should be printed out,any suggestions?
+ 1
Brian nevermind i replaced input error with âNumbers only!â
+ 1
Lenoname my revision initially gets the input and calculates. Then the loop condition is a validity check. It only enters the loop if it needs to prevent moving forward until the input is valid.
Both f and c mean the same as your original code, although they may also take the additional value of None to indicate invalid input.
0
Would this be accepted?
valid = False
while not valid:
try:
f = int(input('Choose a temperature between 82-87 degrees Celsius: '))
c = fahr_to_cel(f)
valid = 82 <= c <= 87
if not valid:
print("Wrong input: {0}F => {1}C".format(f,c))
except:
print("\nInput error")
print("\nYou can now enter. The temperature will be adjusted shortly.")
0
Brian probably not, i was thinking maybe while not 82 <= c <= 87: would be a good start but i dont really know
0
Brian
https://code.sololearn.com/cAJ9o2cL1bVf/?ref=app
This was my attempt but if i write letters on the first try(notice only letters not numbers) there wont be anymore tries and the programme would exit or stop.
0
Brian why is c and f defined outside of the loop though?and what is exactly c?