Как мне заставить мою программу вернуться назад и перезапустить в Python?
Я понимаю, что этот вопрос задавался ранее, но я не могу найти рабочее решение. Я новичок в Python и мне нужно создать калькулятор ИМТ, который позволит пользователю вводить несколько ИМТ, но я не могу заставить его вернуться к началу. Я пробовал 2 способа и ни один не работает.
Вот что у меня есть для первого, но этот не будет работать как «продолжить не в цикле»: `
У меня есть еще один, но он печатает калькулятор ИМТ и затем останавливается: `
3 ответа
Ваша проблема здесь — все об уровнях отступа, Лора. Python знает, что что-то находится внутри блока кода, если последовательные строки имеют одинаковый отступ (в отличие от C или Java, где блоки ограничены открывающими и закрывающими скобками).
Ваш код должен выглядеть примерно так:
В этом фрагменте кода я изменил логический тест и порядок команд из:
Если вы прервали из цикла, следующие строки кода в этом цикле не выполняются. Кроме того, сравнение, которое вы выполняли, всегда возвращало бы True , потому что ответ был бы в («y», «n»). Я также удалил последний цикл, потому что в этом есть смысл.
Что касается второго кода, единственное, что делает функция start() , это print(«\nBMI Calculator») , опять же из-за уровней отступов.
Надеюсь, это поможет 🙂
Вы сталкиваетесь с проблемой причин отступов:
Для второй функции у меня есть несколько советов для вас:
Вместо print используйте return там:
Смысл функций в общем заключается в том, чтобы принимать входные данные и возвращать что-то. Оператор return заставляет вашу функцию завершать работу и возвращать значение вызывающей стороне.
И использовать метод python .format()
Вот ваш второй код с некоторыми изменениями:
Похоже, что во втором примере вам нужно поместить вопрос да нет в цикл while. Нечто подобное должно работать.
Я не вставлял в вопрос y / n оператор else, но это должно быть простое исправление, похоже, что заявление, которое вы написали ранее, будет работать нормально.
How to make program go back to the top of the code instead of closing [duplicate]
But I can’t figure out how you do that in Python :/ Any ideas anyone?
The code I’m trying to loop is this
So basically, when the user finishes their conversion, I want it to loop back to the top. I still can’t put your loop examples into practise with this, as each time I use the def function to loop, it says that «op» is not defined.
![]()
7 Answers 7
Use an infinite loop:
This certainly can apply to your start() function as well; you can exit the loop with either break , or use return to exit the function altogether, which also terminates the loop:
If you were to add an option to quit as well, that could be:
Python, like most modern programming languages, does not support "goto". Instead, you must use control functions. There are essentially two ways to do this.
1. Loops
An example of how you could do exactly what your SmallBasic example does is as follows:
It’s that simple.
2. Recursion
Note on Recursion: Only do this if you have a specific number of times you want to go back to the beginning (in which case add a case when the recursion should stop). It is a bad idea to do an infinite recursion like I define above, because you will eventually run out of memory!
Edited to Answer Question More Specifically
You can easily do it with loops, there are two types of loops
For Loops:
While Loops:
Each of these loops print «Hello World» five times
Python has control flow statements instead of goto statements. One implementation of control flow is Python’s while loop. You can give it a boolean condition (boolean values are either True or False in Python), and the loop will execute repeatedly until that condition becomes false. If you want to loop forever, all you have to do is start an infinite loop.
Be careful if you decide to run the following example code. Press Control+C in your shell while it is running if you ever want to kill the process. Note that the process must be in the foreground for this to work.
The line # do stuff here is just a comment. It doesn’t execute anything. pass is just a placeholder in python that basically says «Hi, I’m a line of code, but skip me because I don’t do anything.»
Now let’s say you want to repeatedly ask the user for input forever and ever, and only exit the program if the user inputs the character ‘q’ for quit.
You could do something like this:
cmd will just store whatever the user inputs (the user will be prompted to type something and hit enter). If cmd stores just the letter ‘q’, the code will forcefully break out of its enclosing loop. The break statement lets you escape any kind of loop. Even an infinite one! It is extremely useful to learn if you ever want to program user applications which often run on infinite loops. If the user does not type exactly the letter ‘q’, the user will just be prompted repeatedly and infinitely until the process is forcefully killed or the user decides that he’s had enough of this annoying program and just wants to quit.
Как вернуть удаленный код? случайно нажал на контрл + а
а есть возможность вообще под чистую снести все библиотеки и питон?
Тогда идем всем чатиком писать реверс шел для алисы?
у всех 504 ошибка ? https://habr.com/ru/post/348198/
Кто может и хочет писать мне скрипты по 100₽? На питоне. В зависимости от хотелок и по тз.

всем привет! кто сможет подсказать, в чем проблема и какие есть способы решения?
Ребят какие книги норм для изучения python?
А в чем может быть проблема. Я скомпилировал на астре код, он запускается все нормально, но на другой версии астры он тупо не открывается?
Привет! Подскажите, как из оббъявленной функции с именованным аргументом извлечь значение этого аргумента? Може библиотека есть какая-то? Спасибо!

почему pycharm не выводит мне в подсказках какие аргументы принимает класс?((( точнее только один выводит.. 1 скрин — ctrl + пробел 2 скрин — вроде как в init расписал что .
Как я могу заставить мою программу вернуться к началу в Python?
Я действительно новый программист, просто программируя для удовольствия. Обычно я пишу свои программы с циклами while, чтобы в разное время перейти к разным разделам программы. Это, вероятно, не самый лучший способ, но все это я знаю, как это сделать.
Например, я работаю над небольшой программой, которая запускается в оболочке, предназначенной для решения уравнения. Здесь часть программы, которая должна вернуть вас к началу.
У меня он установлен так, что while loop == 2 он получает значения, которые нужно ввести в уравнение, а while loop == 0 ничего не происходит.
Однако проблема заключается в том, что когда мой цикл меняется на 2, программа заканчивается там. Он не хочет возвращаться в код, где я сказал ему, что делать while loop == 2.
Итак, мне нужно знать, как вернуть мою программу обратно в этот раздел. Должен ли я использовать другой метод, чем циклы while? Или есть способ вернуть мою программу в этот раздел?