Создание надежного графического калькулятора с использованием Python — Python 2.7Python

Программы на Python
Ответить
Anonymous
 Создание надежного графического калькулятора с использованием Python — Python 2.7

Сообщение Anonymous »

Я пытаюсь создать надежный графический калькулятор, используя Python и pygame.

Я создал графический калькулятор, который работает для большинства функций. Он принимает инфиксное выражение пользовательской строки и преобразует его в постфиксное для упрощения вычислений. Затем я перебираю и передаю значения x в постфиксное выражение, чтобы получить значение Y для построения графиков с помощью pygame.

Первая проблема, с которой я столкнулся, заключалась в расчетах невозможных вещей. (например, деление на ноль, квадратный корень из -1, 0 ^ неположительное число). Если бы произошло что-то подобное, я бы вывел None, и этот пиксель не был бы добавлен в список точек для построения графика.

* Я показал все различные попытки, которые я предпринял, чтобы помочь вам понять, откуда я взялся. Если вы хотите видеть только мой самый последний код и метод, перейдите туда, где написано «текущий».

Метод 1

Мой первый метод заключался в том, что после того, как я получил все значения пикселей, я рисовал их с помощью функции pygame aalines. Это работало, за исключением того, что это не работало, когда между фактическими точками были пропущенные точки, потому что это просто рисовало линию через точки. (1/x не будет работать, но что-то вроде 0^x будет)

Вот как выглядит 1/x при использовании метода aalines
Изображение


Метод 1.1

Моя следующая идея заключалась в разделении строка на две строки каждый раз, когда обратно печаталось None. Это работало для 1/x, но я быстро понял, что это будет работать только в том случае, если одно из переданных значений X точно соответствует значению Y, равному None. 1/x может работать, но 1/(x+0,0001) не будет работать.

Метод 2

Мой следующий метод заключался в преобразовании значения x каждого пикселя в соответствующее значение точки x в окне (например, (0,0) в окне графика на самом деле будет пикселем (249,249) в окне программы 500x500). Затем я вычислял каждое значение y с помощью только что созданных значений x. Это будет работать для любой линии, наклон которой не превышает 1 или

Подробнее здесь: https://stackoverflow.com/questions/290 ... python-2-7
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»