0 / 0 / 0
Регистрация: 16.03.2019
Сообщений: 13
1

Написать функцию , которая выполняет сложение и вычитание данной строки

16.03.2019, 12:00. Показов 1456. Ответов 3
Метки нет (Все метки)

Написать функцию arf, которая выполняет сложение и вычитание данной строки
Пример:
arf("3+6-1")=8
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2019, 12:00
Ответы с готовыми решениями:

Написать программу, которая выполняет вычитание матриц, оформив ее в виде функции
Написать программу, которая выполняет вычитание матриц, оформив ее в виде функции. (как...

Написать программу, которая вводит с клавиатуры два натуральных числа и выполняет логическое умножение и сложение этих чисел
1. Написать программу, которая вводит с клавиатуры два натуральных числа и выполняет логическое...

Написать функцию, которая выводит на экран все слова за данной строки, в которые заданная буква входит N или более раз.
нужна помошь! ни как не могу разобраться В главной программе ввести с клавиатуры две строки...

Написать функцию Dohod которая выполняет доход по вкладу
Написать функцию Dohod которая выполняет доход по вкладу,используемыми данными являются:величина...

3
1040 / 575 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
16.03.2019, 13:31 2
Rise8, а где трудность возникла?
0
0 / 0 / 0
Регистрация: 16.03.2019
Сообщений: 13
16.03.2019, 14:31  [ТС] 3
def arf(s):
for i in filter( str.isdigit , s)

Я не знаю,как дальше делать...Я пытался сделать через поиск числа в строке.
arf("4plus4minus1") = 7
0
3429 / 2073 / 558
Регистрация: 02.09.2015
Сообщений: 5,311
16.03.2019, 18:40 4
Небольшой небезопасный чит:
Python
1
2
3
4
5
6
7
8
def arf(s):
    return eval(s)
 
def main():
    print(arf("3+6-1"))
        
if __name__ == "__main__":
    main()
Добавлено через 24 минуты
Честный парсер:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import re
 
pattern = re.compile(r"([+-])")
 
def arf(s):
    tokens = pattern.split(s)
    while len(tokens) >= 3:
        first, operator, second = (tokens.pop(0) for i in range(3))
        first, second = int(first), int(second)
        result = None
        if operator == "+":
            result = first + second
        elif operator == "-":
            result = first - second
        else:
            raise ValueError("Wrong token: '{}'".format(operator))
        tokens.insert(0, result)
    result = tokens.pop()
    if tokens:
        raise ValueError("Unproccessed tokens in stack: {}".format(tokens))
    return result
 
def main():
    print(arf("3+6-1"))
        
if __name__ == "__main__":
    main()
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2019, 18:40
Помогаю со студенческими работами здесь

Написать функцию, которая выполняет поиск значения в произвольном массиве
Написать функцию, выполняющую поиск указанного значения в произвольном массиве. Результат поиска...

Написать программу, которая выполняет задание используя указатели на функцию
Написать программу, которая выполняет задание используя указатели на функцию: Вычислить площадь...

Написать функцию, которая выполняет возведение в квадрат всех элементов массива
Написать функцию, которая выполняет возведение в квадрат всех элементов массива с нечетными...

Написать функцию, которая выполняет обмен значениями между переменными по указателям на эти переменные
Написать функцию, которая получает 2 указатели на переменные и выполняет обмен значениями между...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru