Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Alycia
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 35

Не пойму как работает While

08.02.2019, 20:56. Показов 1319. Ответов 10

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
n = 4
a = 1
i = 0
summa = 0
while i < n:
    summa += a
    a = a/-2 
    i += 1 #
print(summa)
На выходе получается 0.625, но когда я решила проверить и сделала все вычисления на бумаге, то получилось 0.0625. Почему?
Вот пример как я это высчитывала: 1 / -2 = -0.5; -0.5 / -2 = 0.25; 0.25 / -2 = -0.125; -0.125 / -2 = 0.0625
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.02.2019, 20:56
Ответы с готовыми решениями:

Не пойму как работает
В учебнике дан пример рекурсии. Вывод цифр целого положительного числа в обратном порядке: var n:integer; procedure reverse(n:...

Не пойму, как работает.
Закончились идеи, как работает программа... Ничего не выходит... Помогите, если нетрудно Дана последовательность вещественных чисел , в...

Не пойму как работает char
Выдает не символ, а сивол и число!!Это я уже пробую явное приведение. Кто поопытней, поясните!! #include&lt;iostream&gt; ...

10
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
08.02.2019, 21:18
Цитата Сообщение от Alycia Посмотреть сообщение
Не пойму как работает
А если так посмотреть?
Python
1
2
3
4
5
6
7
8
9
10
11
n = 4
a = 1
i = 0
summa = 0
arr = []
while i < n:
    summa += a
    arr.append(summa)
    a = a/-2
    i += 1 #
print(arr)
0
 Аватар для Alycia
0 / 0 / 0
Регистрация: 28.12.2018
Сообщений: 35
08.02.2019, 21:39  [ТС]
Цитата Сообщение от svtslv Посмотреть сообщение
А если так посмотреть?
Нет, теперь еще больше не понятно. Почему на выходе такие цифры [1, 0.5, 0.75, 0.625]. Объясните если не затруднит)))
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
08.02.2019, 22:13
Цитата Сообщение от Alycia Посмотреть сообщение
еще больше не понятно
А если так?
Python
1
2
3
4
5
6
7
8
9
10
11
12
n = 4
a = 1
i = 0
summa = 0
arr = []
while i < n:
    summa_ =  summa
    summa += a
    arr.append('summa = summa(' + str(summa_) + ') + a(' + str(a) + ') = ' + str(summa))
    a = a/-2
    i += 1 #
print('\n'.join(arr))
1
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
09.02.2019, 10:22
Alycia, вы все правильно считаете
и калькулятор python (на картинке справа)
это подтверждает

(((1 / -2) / -2) / -2) / -2

в расчетах, добавление функции print(a) покажет сразу, где ошибка и чему равно а в каждый момент вычисления
Миниатюры
Не пойму как работает While  
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
09.02.2019, 10:22
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n = 4
a = 1
i = 0
summa = 0
arr = []
while i < n:
    summa_ =  summa
    summa += a
    arr.append('summa = summa(' + str(summa_) + ') + a(' + str(a) + ') = ' + str(summa))
    [B]print(a)[/B]
    a = a/-2
    i += 1 #
print('\n'.join(arr))
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
09.02.2019, 10:32
Alycia, вот этот сайт, http://www.pythontutor.com/vis... de=display наглядно показывает этапы вычисления


ваш код

Python
1
2
3
4
5
6
7
8
9
n = 4
a = 1
i = 0
summa = 0
while i < n:
    summa += a
    a = a/-2 
    i += 1 #
print(summa)
будет работать правильно, если print(summa) заменить на print(a)
Миниатюры
Не пойму как работает While  
1
0 / 0 / 0
Регистрация: 09.02.2019
Сообщений: 19
09.02.2019, 16:03
Спасибо всем
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
09.02.2019, 16:49
Alycia, Просто Ваш цикл делает не то, что предполагаете Вы. Ваш цикл ищет сумму чисел получаемых последовательным делением на -2 , а не просто результат последовательного деления, который Вы получили делением на бумажке. Если Вы этот код взяли где то, то Вы просто не поняли, что он делает. Если Вы написали его сами, и Вам действительно нужно получить просто результат от последовательного деления на -2, то переменная summa здесь вообще не нужна и код будет выглядеть так:

Python
1
2
3
4
5
6
7
n = 4
a = 1
i = 0
while i < n:
    a = a/-2 
    i += 1 #
print(a)
0
 Аватар для svtslv
308 / 160 / 66
Регистрация: 18.01.2019
Сообщений: 449
09.02.2019, 17:20
Viktorrus, Ну тогда так
Python
1
2
3
4
5
6
n = 4
a = 1
while n:
    a = a/-2 
    n -= 1 #
print(a)
Добавлено через 3 минуты
или так
Python
1
2
3
4
n = 4
a = 1
for n in range(0, n): a = a/-2
print(a)
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
09.02.2019, 17:31
svtslv, Согласен. Только тогда нужно пояснить Alycia, так как она начинающая изучать питон, что в питоне, там где ожидается логическое значение, все не пустые объекты, это True , а 0 и [],{}, "" и так далее, это False.

Добавлено через 4 минуты
svtslv, Алиса не давала условия задачи, а только предложила для рассмотрения код, с просьбой его пояснить, поэтому другие виды циклов я не вижу смысла рассматривать. Все, мне нужно уйти, разбирайтесь с Alycia сами, что ей нужно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.02.2019, 17:31
Помогаю со студенческими работами здесь

pg_dump не пойму как работает
Всем доброго дня! Люди помогите понять пожалуйста! Есть популярный скрипт для создания резервных копий! Помогите пожалуйста понять...

Не пойму как это работает
PS C:\User&gt; (Get-ChildItem -Path &quot;C:\tmp\002&quot;) | Get-Member (Get-ChildItem -Path &quot;C:\tmp\002&quot;).Count Get-Member : Укажите...

Не пойму, как работает FormData
здрасьте есть форма redux-form, из которой я пытаюсь достать данные(ну с этим всё ок) и запихать эти данные в FormData(а вот тут...

Не пойму как работает класс
Hi all Не пойму как работает пример #include &lt;stdafx.h&gt; #include &lt;conio.h&gt; using namespace std; class String { public: char*...

Не пойму как работает Isuidocopen
Привет всем. Очередная проблема. Хочу сделать, чтобы при изменении поля в родительском документе, менялись поля в дочерних. И перед...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru