Please help me fix my code. I tried both but I'm still stuck even if I already inputted values 1 - 100.
OPTION 1:
Class_Record = input('Enter name & grades in math,physics and chemistry, separated by a space: ')
Data = Class_Record.split(" ")
Math = float(Data[1])
Physics = float(Data[2])
Chemistry = float(Data[3])
while (Math<0 or Math>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
while (Physics<0 or Physics>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
while (Chemistry<0 or Chemistry>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
else:
average = ((Math+Physics+Chemistry)/3)
Record[Data[0]] = "%0.2f" % average
OPTION 2:
Class_Record = input('Enter name & grades in math,physics and chemistry, separated by a space: ')
Data = Class_Record.split(" ")
Math = float(Data[1])
Physics = float(Data[2])
Chemistry = float(Data[3])
while (Math<0 or Math>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
if (Math>0 and Math<100):
break
while (Physics<0 or Physics>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
if (Physics>0 and Physics<100):
break
while (Chemistry<0 or Chemistry>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
if (Chemistry>0 and Chemistry<100):
break
If you have any ideas how to fix this, please tell me! Thank you so much!
Working code:
Class_Record = input('Enter name & grades in math,physics and chemistry, separated by a space: ')
while True:
Data = Class_Record.split(" ")
Math = float(Data[1])
Physics = float(Data[2])
Chemistry = float(Data[3])
if (Math < 0 or Math > 100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
continue
if (Physics < 0 or Physics > 100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
continue
if (Chemistry < 0 or Chemistry > 100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
continue
average = ((Math + Physics + Chemistry) / 3)
print(Data[0], "%0.2f" % average)
break
Try this
def get_grades(record):
Data = Class_Record.split(" ")
Math = float(Data[1])
Physics = float(Data[2])
Chemistry = float(Data[3])
return(Math, Physics, Chemistry)
Class_Record = input('Enter name & grades in math,physics and chemistry, separated by a space: ')
Math, Physics, Chemistry = get_grades(Class_Record)
while (Math<0 or Math>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
Math, Physics, Chemistry = get_grades(Class_Record)
while (Physics<0 or Physics>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
Math, Physics, Chemistry = get_grades(Class_Record)
while (Chemistry<0 or Chemistry>100):
Class_Record = input('Error. Please only enter 1-100. Try again!')
Math, Physics, Chemistry = get_grades(Class_Record)
average = ((Math+Physics+Chemistry)/3)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.