Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/47: Рейтинг темы: голосов - 47, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 02.04.2019
Сообщений: 14
1

Функция сложения и умножения

22.05.2019, 16:46. Показов 9772. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Друзья, подскажите как сюда добавить умножение с помощью ещё одного условия if?

Python
1
2
3
4
5
6
7
8
def f(word):
    if '+' in word:
         place = word.rfind('+')
         return f(word[: place]) + f(word[place + 1:])
    else:
        return int(word)
a = '2+3+3+5+8'
print (f(a))
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2019, 16:46
Ответы с готовыми решениями:

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

Добавьте возможность сложения (сложения через оператор сложения) для дроби с целым числом. (не только с дробью)
Есть код, не могу написать как складывать дробь с целым числом, а не только с дробью. + Создайте...

Верните список, состоящий из всех возможных строк, где между цифрами расставлены операции умножения, сложения и деления
Напишите функцию, которая принимает на вход строку из цифр и целое число (таргет).Верните список,...

Функция сложения элементов двух списков
Доброго времени суток!!! Поскольку я новичок, помогите пожалуйста, следует написать функцию...

Сделать таблицу умножения, таблицу сложения, а также таблицу возведения в степень
Помогите написать код) Сделать таблицу умножения, таблицу сложения, а также таблицу возведения в...

3
636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
22.05.2019, 17:16 2
Python
1
2
3
4
5
6
7
8
9
def f(word):
    return eval(word)
 
 
a = '2+3+3+5+8'
print(f(a))
 
b = '2+2*2'
print(f(b))
0
0 / 0 / 0
Регистрация: 02.04.2019
Сообщений: 14
22.05.2019, 18:49  [ТС] 3
Как мне к примеру посчитать a=2+3*2+5+8?

Добавлено через 45 минут
Python
1
2
3
4
5
6
7
8
9
10
11
def f(word):
    if '*' in word:
        place = word.rfind('*')
        return f(word[:place]) * f(word[place + 1:])
    if '+' in word:
        place = word.rfind('+')
        return f(word[:place]) + f(word[place + 1:])
    else:
        return int(word)
a = '2+3*2*4+5'
print (f(a))
Результат почему-то 90. В чем моя ошибка?
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
17573 / 10326 / 2820
Регистрация: 21.10.2017
Сообщений: 22,388
22.05.2019, 19:23 4
Лучший ответ Сообщение было отмечено ZhansultanM как решение

Решение

Цитата Сообщение от ZhansultanM Посмотреть сообщение
В чем моя ошибка?
В принципе. Посмотри дебаггером, что у тебя происходит.

Потом поменяй приоритет местами
Python
1
2
3
4
5
6
7
8
9
def f(word):
    if '+' in word:
        place = word.rfind('+')
        return f(word[:place]) + f(word[place + 1:])
    if '*' in word:
        place = word.rfind('*')
        return f(word[:place]) * f(word[place + 1:])
    else:
        return int(word)
1
22.05.2019, 19:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2019, 19:23
Помогаю со студенческими работами здесь

Почему не работает функция сложения больших чисел?
Идея такова: Удалить лишние нули с начала чисел. Уравнять длину чисел. Разбить числа по 9 цифр...

Операции сложения и умножения вектора на число
Напишите программу на языке программирования Python, которая реализует операции сложения и...

Класс Point с перегрузкой сложения, вычитания и умножения на числа
сделайте пожалуйста класс Point с перегрузкой сложения, вычитания и умножения на числа (как слева,...

Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
Write программу с использованием класса Вектор (не без помощи форумчанина), но необходимо создать...

Рекурсия: функция умножения двух чисел, используя только операцию сложения
Напишите функцию умножения двух чисел, используя только операцию сложения(через рекурсию)

Рекурсивная функция умножения двух целых чисел использующая только операцию сложения
Кам мне эту функцию реализировать в код для программы с рекурсивной функцией для умножения двух...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru