Не перезапускается цикл
klass = int(input('Введите класс:'))
while klass == 9 or klass == 8 or klass == 7:
klass = int(input('Введите класс повторно:'))**
if klass == 9:
otdel9 = int(input('Вы выбрали 9 класс, выберите отдел физики:\n1 - Механика\n2 - Законы Ньютона\n3 - Оптика\n Введите:'))
if otdel9 == 1:
mech9 = int(input('''Вы выбрали отдел физики 9 класса:механика, введите формулу для вычисления
\n1 - a=(V-V0)/t(формула ускорения)
\n2 - S=V0t+-(at^2)/2(Формула перемещения если известно время. )
\n3 - S=(V^2-V0^2)/+-2a(Формула перемещения если неизвестно время. )
\n4 - V=V0+-at(Формула скорости.)
\n5 - x=x0+V0t+-(at^2)/2(Формула конечной координаты. )
\n6 - Что такое механика?
\nВведите: '''))
if mech9 == 1:
print('''Введите:\nV - скорость(м/c)\nV0 - начальная скорость(м/c)\nt - время(сек)''')
V = float(input('Введите скорость V: '))
V0 = float(input('Введите начальную скорость V0: '))
t = float(input('Введите время t: '))
print('a = ', (V - V0)/t , '(м/с^2)')
elif mech9 == 2:
print('''Введите: \nV0 - начальную скорость(м/с)\nt - время(с) \na - ускорение(м/с^2)''')
V0 = float(input('Введите начальную скорость V0: '))
t = float(input('Введите время t: '))
a = float(input('Введите ускорение a: '))
print('S = ', (V0*t+(a*t**2)/2), '(м) ')
elif mech9 == 3:
print('''Введите:\nV - скорость(м/c)\nV0 - начальная скорость(м/c)\na - ускорение(м/с^2)''')
V = float(input('Введите скорость V: '))
V0 = float(input('Введите начальную скорость V0: '))
a = float(input('Введите ускорение a: '))
print('S = ', (V**2-V0**2)/2*a , '(м) ' )
elif mech9 == 4:
print('''Введите:\nt - время (с)\nV0 - начальная скорость(м/c)\na - ускорение(м/с^2)''')
t = float(input('Введите время t: '))
V0 = float(input('Введите начальную скорость V0: '))
a = float(input('Введите ускорение a: '))
print('V = ', V0+a*t, '(м)')
elif mech9 == 5:
print('''Введите: \nV0 - начальную скорость(м/с)\nt - время(с) \na - ускорение(м/с^2) \nx0 - начальную координату''')
V0 = float(input('Введите начальную скорость V0: '))
t = float(input('Введите время t: '))
a = float(input('Введите ускорение a: '))
x0 = float(input('Введите начальную координату x0: '))
print('x = ', x0+V0*t+(a*t**2)/2) #по моему не измеряется ни в чем
elif mech9 == 6:
print('''Раздел физики, наука, изучающая движение материальных тел и взаимодействие между ними\n
при этом движением в механике называют изменение во времени взаимного положения тел или их частей в пространстве.''')
elif otdel9 == 2:
print('законы ньютона потом напишу:\n1- \n2- \n3-')
#Место для ввода/вывода формул if/elif
else:
print('..')
elif klass == 8:
print('Вы выбрали 8 класс, выберите отдел физики:\n1 - равномерное движение\n2 - Электричество\n3 - ..')
otdel8 = int(input())
if otdel8 == 1:
print('1 отдел')
else:
print('..')
#return klass8
elif klass == 7:
print('Вы выбрали 7 класс, выберите отдел физики:\n1 - \n2 - \n3 - ..')
otdel7 = int(input())
if otdel7 == 1:
print('1 отдел')
else:
print('не знаю такой отдел')
**continue**
Как начать цикл заново при вводе неправильного числа?При вводе другого числа программа перестает работать и завершается
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
Если я правильно понял ваши устремления, то так:
klass = int(input('Введите класс:'))
while True:
if klass in [7,8,9]:
...
elif klass == 0: # Если вводится 0, то выходим из цикла
break
else:
klass = int(input('Введите номер класса повторно (от 7 до 9, 0 - выход из цикла):'))**