Почему питон не выводит ответ
Перейти к содержимому

Почему питон не выводит ответ

  • автор:

Почему мой код на Python вообще не выводит результат?

Я написал код на Python, чтобы увидеть, сколько раз одно число можно разделить на число, пока оно не получит значение единицы.

Это не завершает процесс, но и не дает никаких результатов.

5 ответов

Вы не меняете значение частного в цикле while. он остается постоянным. вместо quotient = num1 / num2 должно быть quotient / = num2 , если я правильно понимаю вашу проблему.

Я немного изменил ваш код, так как вы всегда определяете частное как начальные числа. Вместо этого разделите ваше частное на число2.

Вы пишете бесконечный цикл! например, если вы возьмете 1 как вход num1 и 1 также вход num2! так что здесь частное возьмите 1 !! так вы застряли в бесконечном цикле! Я не понимаю твою программу, я имею в виду то, что ты хочешь делать! сначала ты должен показать мне проблему

Значение частного не меняется, поэтому цикл продолжается вечно. Например, если частное равно 3, num1 равно 18, а num2 равно 6. Программа перейдет к оператору else, а затем перейдет к оператору while. Он делит 18 на 6, устанавливает значение частного на 3 и увеличивает counter_var на единицу. Затем он возвращается к началу цикла и делает то же самое, поскольку частное> = 1, а значение частного никогда не меняется, что приводит к тому, что цикл продолжается вечно.

Имена переменных не должны иметь подчеркивания и должны быть в верблюжьем регистре, что означает, что это должна быть counterVar. Также у вас должны быть более описательные имена, а не num1 и num2.

Давайте разберем ваш код на примерах:

Раздел 1: весь хороший код

Раздел 2: код проблемы

Возьмем пример, где

Число1 = 20

Число2 = 4

Он проходит через раздел 1. Все хорошо. Значение quotient равно 5.0 . Итак, это входит в оператор while. quotient всегда останется 5.0 .

Как вы думаете, что будет в результате следующего расчета? Вы не изменили значение num1 и num2 , поэтому оно останется 5.0 . И так получается бесконечный цикл.

Если вы хотите изменить код, вы должны выяснить, как изменить значение num1 , чтобы оно могло делиться дальше.

Надеюсь, это поможет вам отладить свой код и найти правильный ответ. Я предоставлю вам понять, как это исправить.

Подсказка: любое число, разделенное само на себя, останется равным 1. Вы, мужчина, хотите посмотреть на свой цикл while и внести небольшие изменения. Это должно быть >= ?

В интерактивном интерпретаторе Python:

Я импортирую модуль, содержащий класс. Это методы этого класса (некоторые из них):

Когда я импортирую класс и использую метод do_api_call (), он ничего не выводит после завершения работы.

Создаю экземпляр класса и запускаю метод:

Однако, когда я делаю вторую версию (обратите внимание на функцию печати), она выводит HTML-код вызываемой страницы.

Почему первая версия ничего не выводит? Он работает (т.е. получает страницу и не вызывает ошибок).

Поведение, которое вы описываете, кажется невозможным (первая версия должна вместо этого отображать repr этого HTML). Пожалуйста, отредактируйте, чтобы предоставить полный интерактивный сеанс (настолько маленький, насколько это возможно, но воспроизводящий это поведение), который я и другие могу скопировать и вставить для проверки (и информацию о версии Python, версии ОС и т. Д.). — Alex Martelli

Я тоже так думал. Невозможно. Я принесу еще код. Больше всего меня поражает то, что я буквально дважды беру точный код, единственное изменение — это функция print (). — orokusaki

Кстати, моя версия — 2.6 (какая бы последняя ни была), а ОС — Windows XP — orokusaki

Куда делись два других ответа? — orokusaki

Они были удалены. Я удалил свой собственный, чтобы не получить отрицательный ответ за совершенно бесполезный ответ. Наверное, то же самое и с другим. Их можно «восстановить», чего бы это ни стоило. — Devin Jeanpierre

1 ответы

Ваша первая версия возвращает только то значение, которое вы хотели бы видеть на выходе. Вторая версия фактически выводит это значение.

На вашем месте я бы подумал о том, чтобы сохранить возвращаемое значение вызова первой версии в переменной и распечатать эту переменную. Это должно решить вашу проблему

Интерактивный переводчик. Работает иначе. — Игнасио Васкес-Абрамс

Это до сих пор не исправлено, но ваша идея подтвердила мои подозрения. Я попытался распечатать результат после сохранения result.read () в памяти. Он работал нормально, затем я попытался вернуть результат, но он ничего не сделал (то есть в одной строке написано print (результат), а в следующей строке написано print (‘результат напечатан’), а в следующей строке говорится о возвращаемом результате. результат, за которым следует «результат напечатан». Больше ничего не выводилось. орокусаки

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками python or задайте свой вопрос.

Код работает без ошибок но в консоль ничего не выводит почему?

HemulGM

Во-первых, сама подстановка названия в ссылку некорректная.

И чтобы бот ответил, ему надо писать в виде «Погода kyiv-4944»

Во-вторых, скорее всего понадобится передать заголовки, чтобы запрос был похож на браузер, хотя бы простые

И насколько вижу, никакого json запрос не возвращает, это просто HTML страница, так что данные придется доставать самому, например через bs4.

Мой код Python ничего не выводит?

В настоящее время я пытаюсь научить себя Python с книгой Pathon Crash Course от Eric Matthes, и у меня, похоже, возникают трудности с упражнением 5-9 относительно использования тестов для проверки пустых списков.

Вот вопрос:

5-9. Нет пользователей: добавьте тест if на hello_admin.py, чтобы убедиться, что список пользователей не пуст.

• Если список пуст, распечатайте сообщение. Нам нужно найти некоторых пользователей!

• Удалите все имена пользователей из вашего списка и убедитесь, что напечатано правильное сообщение.

Вот мой код от hello_admin.py:

Теперь вот мой код для 5-9, который ничего не выводит:

Кто-нибудь имеет какие-либо отзывы о том, почему мой код не выводит: «Нам нужно найти некоторых пользователей!» Спасибо за ваше время. 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *