С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/140: Рейтинг темы: голосов - 140, средняя оценка - 4.87
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
1

Вводить строки до тех пор, пока не будет введено стоп-слово

19.08.2018, 23:26. Показов 28833. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача: вводить строки до тех пор, пока не стоп-слово.

Моё минимально нерабочее решение:

Python
1
2
3
4
while True:
    a = input()
    if str(a)=='i':
        break
Результат:

Python
1
2
3
4
5
Traceback (most recent call last):
  File "main.py", line 2, in <module>
    a = input()
  File "<string>", line 1, in <module>
NameError: name 'i' is not defined
Кто-нибудь может сказать, что делать?..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
19.08.2018, 23:26
Ответы с готовыми решениями:

Написать программу, которая будет вводить с клавиатуры положительные числа до тех пор, пока не будет введена -1.
Всем привет! Прошу помочь выполнить эти 2 задания в Python: 1) Билеты на общественный...

Вводить целые числа до тех пор, пока не будет введено число 3
Разработать программное обеспечение в котором необходимо ввести целые числа и добавлять их один к...

Вводить отрицательные числа до тех пор пока не будет введено положительное число
Вводить отрицательные числа до тех пор пока не будет введено положительное число. Найти кол-во...

Вводить с клавиатуры любые целые числа до тех пор, пока не будет введено число 99
1-я задача Вводить с клавиатуры любые целые числа до тех пор, пока не будет введено число 99....

18
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
20.08.2018, 00:13 2
На Python3 ваш код вполне работает (у меня все выполнилось, по крайней мере). Есть мысль, что у вас на компьютере стоит Python2. В таком случае надо не input() , а raw_input() .
0
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
20.08.2018, 00:14  [ТС] 3
уже пробовал
Ниче не выходит.

Добавлено через 37 секунд
Он не на компьютере. Он в онлайне...
0
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
20.08.2018, 00:17 4
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
уже пробовал
Python
1
2
3
4
5
6
>>> i
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    i
NameError: name 'i' is not defined
>>>
У вас в первой строке кода указана переменная i. Зачем? В python переменные НЕ ОБЪЯВЛЯЮТ!
(И почему вы код выкладываете не весь? Это не форум экстрасенсов - гадать мы не обязаны).
0
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
20.08.2018, 00:21  [ТС] 5
Garry Galler, это ВЕСЬ код. И сверху там ничего нет. Картинку прикрепить не могу

Добавлено через 2 минуты
http://www.compileonline.com/e... online.php
0
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
20.08.2018, 00:27 6
Это с онлайн-редактором что-то не то. Попробуйте здесь ваш код: https://repl.it/repls/IcyDazzlingUserinterface - все работает (консоль справа)
0
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
20.08.2018, 00:33  [ТС] 7
Freeden, Хмм... ввожу i первый раз - все хорошо, но ввод не прекращается. А на втором вводе вещает

Python
1
2
3
Traceback (most recent call last):
  File "python", line 1, in <module>
NameError: name 'i' is not defined
Добавлено через 1 минуту
Видимо лажа с онлайном, вот тут вроде пашет...
0
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
20.08.2018, 00:39 8
Код у вас правильный, ваша ошибка в том, что вы запускали программу до нажатия "run". То есть вы i вводили не когда Python ее принимает, а грубо просто в консоль. Не знаю понятно ли объяснила...
0
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
20.08.2018, 00:40  [ТС] 9
Freeden, можно еще раз?..
0
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
20.08.2018, 00:45 10
Вот в по ссылке которую я вам прислала. Код запускается нажатием по кнопке run вверху. При нажатии на i код останавливается и появляется символ ">" Что означает, что программа выполнена успешно и остановлена (в данном случае). Чтобы ее снова запустить опять нажимаете run.
0
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
20.08.2018, 00:47  [ТС] 11
Если честно, меня больше устраивало, когда текст вводился файлом, весь сразу, как здесь. Но и тут есть проблемы...

Если текст вводится сразу весь, проблема, о которой вы говорите, снимается или остается?..
0
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
20.08.2018, 00:52 12
Тут не в тексте проблема, а в том, что вы до запуска интерпретатора Python вводите в консоль данные.

Добавлено через 2 минуты
Это примерно как не включив калькулятор по кнопкам клацать. Только калькулятор молчит, а интерпретатор ошибки выдает.
0
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
20.08.2018, 00:52  [ТС] 13
Ошибка периодически возникает та же самая, я понять не могу, почему и в какие моменты
0
107 / 104 / 34
Регистрация: 25.04.2012
Сообщений: 242
20.08.2018, 01:00 14
Что написано у вас в коде: «если введена буква i , то остановить программу». После того как программа остановилась ее нужно сначала запустить, а потом снова на клавиши нажимать. Если сразу нажмете (не запустив программу) то получите свою ошибку. Причем неважно какая клавиша будет нажата
1
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
20.08.2018, 01:01  [ТС] 15
Freeden, понял =)
0
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
20.08.2018, 01:21 16
Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
Он в онлайне...
Не увидел этого пояснения.
Вы когда используете в коде функцию input делайте хотя бы так:
input(">>"), чтобы отличать свою строку приглашения к вводу от строки ввода интерпретатора\командной строки\online терминала.
По сути мое объяснение было верным (NameError иначе не возникает), но контекст оказался другим.

И к тому же многие online IDE плохо поддерживают интерактивный ввод и вовсе не делают паузу после input() - таким IDE ввод нужно делать заранее, на вкладке stdin или input (как в ideone).
0
2 / 6 / 1
Регистрация: 25.04.2016
Сообщений: 125
20.08.2018, 01:23  [ТС] 17
Цитата Сообщение от Garry Galler Посмотреть сообщение
И к тому же многие online IDE плохо поддерживают интерактивный ввод и вовсе не делают паузу после input() - таким IDE ввод нужно делать заранее, на вкладке stdin или input (как в ideone).
Garry Galler, именно. Но проблемы возникали даже в этом случае
0
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
20.08.2018, 01:25 18
Online IDE не любят while True. То есть бесконечный цикл. ideone, например просто завершает такой код с ошибкой после первой же итерации, если не было break из цикла.
0
dondublon
20.08.2018, 12:32     Вводить строки до тех пор, пока не будет введено стоп-слово
  #19

Не по теме:

Цитата Сообщение от Andrew Puchinin Посмотреть сообщение
стоп-слово.
"Стоп-слово" у меня ассоциируется с протоколом BDSM. В программировании говорят "условие выхода" или что-то подобное.

0
20.08.2018, 12:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.08.2018, 12:32
Помогаю со студенческими работами здесь

Вводить с клавиатуры числа и выводить квадраты этих чисел до тех пор, пока не будет введено число 0
Нужно составить программу циклической структуры с использованием инструкции do...while. Задача:...

Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1
Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным...

Составить программу, позволяющую вводить целые числа до тех пор, пока не будет введено число –8, и вычислить количество
1. Составить программу, позволяющую вводить целые числа до тех пор, пока не будет введено число –8,...

Программа, позволяющая вводить с клавиатуры целые числа до тех пор, пока не будет введено число и вычесть ихпроизведение
Помогите пожалуйста составить программу, позволяющую вводить с клавиатуры целые числа до тех пор,...

Вводить произвольные числа до тех пор пока не будет введено число 555. Найти сумму и количество введенных чисел
Вообще у меня такая проблема, вот дано мне задание: &quot;Вводить произвольные числа до тех пор пока не...

Вводить произвольные числа до тех пор пока не будет введено число 555. Найти сумму и количество введенных чисел
Задание такое: Составить алгоритм и программу для задания 3. Вот собственно задание 3: Вводить...

Visual Prolog 9: Вводить два числа и искать их сумму, до тех пор пока первое число не будет введено равным 1
Вводить два числа и искать их сумму, до тех пор пока первое число не будет введено равным 1.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru