Форум сайта python.su
Здравствуйте, гуру, про и прочие мастера програмирования. В развлекательно-познавательных целях начал изучать Python. Последний раз с кодингом связывался в школе. тогда я изучал QBasic, старинный как DOS.
И теперь столкнулся с проблемой.
Я поставил себе задачу - написать программу, которая автоматически бы подсчитывала уравнения и формулы примерно 8-го класса. Решил начать с малого - квадратных уравнений. Все хорошо и все работает, но я никак не могу понять, как заставить ее повторяться. Если бы это был бэйск, я бы просто в конце программы прописал goto на строчку с запросом вроде: “Хотите попробовать снова?”.
Но в питоне нет goto. Как быть?
import math def Discr(a, b, c): return b**2-4*a*c def X1(a, b, c, d): #Функции - заделка под расширение проги в готовом варианте. return (-b + d)/(2*a) def X2(a, b, c, d): return (-b + d)/(2*a) print('Введите переменные a, b и с для уравнения ax^2 + bx + c.') a1 = int(input('a = ')) b1 = int(input('b = ')) c1 = int(input('c = ')) D = Discr(a1, b1, c1) if D < 0: print('Для уравнения ({0})x^2 - ({1})x + ({2}) нет решения.'. format(a1, b1, c1)) elif not D: x = X1(a1, b1, c1, D) print(' Ответ: x(1, 2) = {0}.'. format(x)) else: x1 = X1(a1, b1, c1, D) x2 = X2(a1, b1, c1, D) print(' Ответ: x(1) = {0}; x2 = {1}.'. format(x1, x2))
Офлайн
Где было написано о процедурах, выводе, условиях и форматировании строк ничего не было о циклах?
Офлайн
ShamanПробовал. Но я криворукий, ибо в школе так и не понял, как эти while и for использовать. Что касается процедур и форматирования - скачал маленький мануальчик по основным командам. И над фунцкциями парился около 2-х часов, пока не понял, как ими пользоваться.
Где было написано о процедурах, выводе, условиях и форматировании строк ничего не было о циклах?
Офлайн
Kirik344А с чего вы решили, что сейчас поймете? Когнитивные функции с годами только ухудшаются.
Но я криворукий, ибо в школе так и не понял
Офлайн
FishHookТогда я просто не вникал в них, ибо был goto. Сейчас я немного разобрался, как цикл работает, но практических навыков не хватает, чтобы их использовать. А объяснить некому
Офлайн
import math answer = 'YES' while answer == 'YES': ''' тут пошел ваш код выполнения программы''' answer = input('Хотите попробовать снова? YES/NO >>> ')
Офлайн
marvellikПробовал. Помогло. До этого пытался сделать что-то похожее, но получалось страшно.
Офлайн
Kirik344А можно посмотреть?
До этого пытался сделать что-то похожее, но получалось страшно
Офлайн
FishHookНет. Те страшные попытки я уничтожал сразу после провала.
Офлайн
Python Goto
ИМХО лучше использовать цикл while.
Отредактировано vkhacker (Май 23, 2016 14:34:50)
Офлайн