Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 20, 2021 20:52:29

kudevchik
Зарегистрирован: 2021-04-30
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста с задачами олимпиады

Петя сконструировал счетчик: если на его вход подать +, то значение счетчика увеличится на 1, а если подать -, то уменьшится на 1.
Найдите значения счетчика Петрика, если на вход подать строку S, содержащую только знаки +
или -. Начальные значения счетчика равны 0.
Формат входных данных
Входящий поток содержит строку S длиной не более 100 символов.
Формат выходных данных
В выходной поток вывести показы счетчика Пети.

Офлайн

#2 Ноя. 20, 2021 23:57:19

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

Помогите пожалуйста с задачами олимпиады

  
>>> def tr(ch):
...     if ch == '+':
...         return 1
...     elif ch == '-':
...         return -1
...     else:
...         raise ValueError('Should be + or -: ' + ch)
... 
>>> def f(s):
...     return sum(map(int, map(tr, s)))
... 
>>> f('')
0
>>> f('+')
1
>>> f('-')
-1
>>> f('+-')
0
>>> f('-+')
0
>>> f('+-+')
1
>>> f('-+-')
-1
>>> f('+++')
3
>>> f('---')
-3
>>> 
>>> f('x')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in f
  File "<stdin>", line 7, in tr
ValueError: Should be + or -: x
>>>



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version