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

Калькулятор многочленов. Задание переписать код

09.05.2021, 21:41. Показов 1073. Ответов 3

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

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from numpy.polynomial import Polynomial as P
import numpy as np
 
 
def multiply_polys(A, B, m, n):
    prod = [0] * (m + n - 1);
 
    for i in range(m):
        for j in range(n):
            prod[i + j] += A[i] * B[j];
 
    return prod;
 
def polyn_from_string():
    x = P([0, 1])
 
    P1 = input("Enter polynomial:\n")#-0.867*x**23 + 2.45*x**23 - 64.654*x**11 + 356.897*x**24 + 15864.5465*x
 
    iksy = [pos for pos, char in enumerate(P1) if char == 'x']
    temp = 0
 
    for i in iksy:
        P1 = P1[:i+temp] + '*'+ P1[i+temp:]
        temp += 1
 
    P1 = P1.replace("^", "**")
    P1 = eval(P1)
    return P1
 
def print_poly(P1):
    coefs = np.array(P1.coef)
    nonzerocoefs = coefs[np.nonzero(coefs)]
 
    out = ""
 
    for i in nonzerocoefs:
        if np.where(nonzerocoefs == i)[0][0] == 0:
            if np.where(coefs == i)[0][0] > 1:
                out += "{0}x^{1}".format(i, np.where(coefs == i)[0][0])
            else:
                out += "{0}x".format(i)
        else:
            if i > 0:
                out += " + {0}x^{1}".format(i, np.where(coefs == i)[0][0])
            else:
                out += " - {0}x^{1}".format(-1 * i, np.where(coefs == i)[0][0])
 
    print("out: ", out)
 
P1 = polyn_from_string() #-0.867x^23 + 2.45x^23 - 64.654x^11 + 356.897x^24 + 15864.5465x
# print(P1.coef)
# input()
 
while True:
    choice = input("Choose operation:\n1 - Addition\n2 - Substraction\n3 - Multiplication\n4 - Exit\n")
    if int(choice) == 1:
        P2 = polyn_from_string()
        if len(P1) > len(P2):
            P3 = np.add( np.array(P1.coef), np.hstack([np.array(P2.coef), np.zeros([len(P1)-len(P2)])]) )
        else:
            P3 = np.add( np.hstack([np.array(P1.coef), np.zeros([len(P2)-len(P1)])]), np.array(P2.coef) )
        print_poly(P(P3))
    elif int(choice) == 2:
        P2 = polyn_from_string()
        if len(P1) > len(P2):
            P3 = np.add(np.array(P1.coef), np.hstack([-1*np.array(P2.coef), np.zeros([len(P1) - len(P2)])]))
        else:
            P3 = np.add(np.hstack([np.array(P1.coef), np.zeros([len(P2) - len(P1)])]), -1*np.array(P2.coef))
        print_poly(P(P3))
    elif int(choice) == 3:
        P2 = polyn_from_string()
        P3 = np.polymul(np.poly1d(P1.coef), np.poly1d(P2.coef))
        P3 = multiply_polys(P1.coef, P2.coef, len(P1), len(P2))
        print_poly(P(P3))
    elif int(choice) == 4:
        exit()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2021, 21:41
Ответы с готовыми решениями:

Переписать код под другое задание
1.Объявление ссылочного типа для адресации элементов списка 2.Объявление записи структуры элементов списка 3.Объявление указательной...

Написать калькулятор многочленов
Здравствуйте, нужно написать программу, которая делает следующее: Написать программу, которая умеет складывать +, вычитать - ,...

Нужен калькулятор полиномов (многочленов)
калькулятор полиномов(многочленов) нужно +-*\ полиномы, прошу помоч прога на С++ или паскаль(делфи)

3
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.05.2021, 22:24
Цитата Сообщение от Python_Beginner Посмотреть сообщение
помогите переписать код
Самый упопротый вопрос. На что переписать? Что поменять?
Если вы с преподом не знаете, то мы-то откуда узнаем?
0
0 / 0 / 0
Регистрация: 09.05.2021
Сообщений: 2
09.05.2021, 22:26  [ТС]
Да, прошу прощения. На тот же пайтон. Поменять структуру кода, можно с использованием других библиотек
0
5519 / 2872 / 571
Регистрация: 07.11.2019
Сообщений: 4,762
10.05.2021, 07:14
Препод дал задание кому? Нам?
Не хочешь учиться - иди работай.
Код- жуткая смесь numpy и чистого питона. Что такое многочлен?
Список? Массив Numpy? Полином Numpy?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2021, 07:14
Помогаю со студенческими работами здесь

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

Переписать коды командных файлов, выполняющих одно задание, так, чтобы они выполняли другое задание
задание №1 нужно каким-то образом переделать в задание №2 Задание №1: Написать командный файл, выполняющий следующие действия...

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

Образует ли система многочленов базис в линейном ространстве многочленов степени не выше 3
Образует ли система 1, t, t^2-t, t^3-t^2+t многочленов базис в линейном ространстве многочленов степени не выше 3 Заранее Благодарю.

задание написать калькулятор
Просидел пол дня :( прикол в том что надо не просто калькулятор, а именно так: просим ввести следующее число и оператор, пока...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru