Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Центр помощи
  • » Ниче не пойму( почему если в ввод вписать -1 а потом 1, то выведется 2, хотя должен быть 0, разве нет? Выручайте пасаны) [RSS Feed]

#1 Янв. 30, 2023 13:10:11

Chelik00101
Зарегистрирован: 2023-01-30
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Ниче не пойму( почему если в ввод вписать -1 а потом 1, то выведется 2, хотя должен быть 0, разве нет? Выручайте пасаны)

b = 0
c = 0
while True:
a = int(input())
if b + a == 0 and a != 0:
c += a ** 2
break
else:
b += a
c += a ** 2
print©

Отредактировано Chelik00101 (Янв. 30, 2023 13:10:54)

Офлайн

#2 Янв. 30, 2023 21:58:47

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9882
Репутация: +  853  -
Профиль   Отправить e-mail  

Ниче не пойму( почему если в ввод вписать -1 а потом 1, то выведется 2, хотя должен быть 0, разве нет? Выручайте пасаны)

Chelik00101
хотя должен быть 0, разве нет?
Если по шагам всё пройдёшь вместе с кодом, то получишь два.
  
>>> def f():
...     b = 0
...     c = 0
...     
...     while True:
...         a = int(input())
...         if b + a == 0 and a != 0:
...             c += a ** 2
...             break
...         else:
...             b += a
...             c += a ** 2
...     
...     print(c)
... 
>>> f()
-1
1
2
>>>

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



Отредактировано py.user.next (Янв. 30, 2023 21:59:37)

Офлайн

  • Начало
  • » Центр помощи
  • » Ниче не пойму( почему если в ввод вписать -1 а потом 1, то выведется 2, хотя должен быть 0, разве нет? Выручайте пасаны) [RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version