Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2019, 19:04   #1
Виктория1112
 
Регистрация: 17.04.2019
Сообщений: 7
По умолчанию Цикл в питоне

всем привет! скажите пожалуйста, почему в данном коде в 5 строке нужно еще раз вводить переменную через input, если мы вначале вводим? я убрала ее, и цикл пошел бесконечный, но непонятно почему именно так происходит
Код:
now = int(input())
seqSum = 0
while now != 0:
       seqSum = seqSum + now
       now = int(input())
       print(seqSum)
______________________
Используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Особенно для Питона. Подробнее в FAQ

Последний раз редактировалось Alex11223; 18.07.2019 в 19:30.
Виктория1112 вне форума Ответить с цитированием
Старый 18.07.2019, 19:31   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Виктория1112 Посмотреть сообщение
и цикл пошел бесконечный
Так оно ж в условии цикла.
Цитата:
Сообщение от Виктория1112 Посмотреть сообщение
почему
видимо задача такая.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 18.07.2019, 19:44   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Условием вхождения в цикл является такое значение переменной now, которое не равно нулю.
Если вы перед циклом ввели значение для now, которое не равно нулю, то начинают выполняться операторы тела цикла.
Эти операторы будут выполняться до тех пор, пока не изменится условие вхождения в цикл. Т.е. в теле цикла переменную now надо изменять.
Например, введите для now значение 5 (с удалённой строкой запроса, как вы сделали последний раз), а в цикле добавьте строку:
Код:
now = now - 1
print(now)
С другой стороны.
Ваш кусок кода подсчитывает сумму вводимых значений.
В данном случае требуется, что бы первое значение было не нулевым.
Тогда, в цикле, будут запрашиваться остальные значения для суммирования.
Для завершения подсчёта необходимо ввести 0.
В этом случае цикл завершится.
Код:
print(seqSum)
выводит текущее значение суммы, но если его вынести из тела цикла, то будет выведена только итоговая сумма.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OПП в питоне malowe Python 1 12.06.2019 15:46
Бот вк на питоне Се33иН Python 0 04.06.2019 18:54
Задача на питоне Витя1996 Помощь студентам 0 27.05.2012 09:23
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34