Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import *
- class Graphic():
- def __init__(self, func, f_range=(-10000,10000), hide_graphic=False):
- self.function = func
- self.l_range = f_range[0]
- self.h_range = f_range[1]
- self.hided = hide_graphic
- self.dots = []
- self.set_dots()
- def set_dots(self):
- x_dots = []
- y_dots = []
- for x in range(self.l_range, self.h_range):
- try:
- x /= 100 # Уменьшение x для получения более точного рисунка графика
- y = self.set_y_value(x)
- x_dots.append(x)
- y_dots.append(y)
- except Exception:
- x_dots.append(None)
- y_dots.append(None)
- continue
- self.dots.append(x_dots)
- self.dots.append(y_dots)
- def get_dots(self):
- return self.dots
- def set_y_value(self, x):
- func = self.function
- return eval(func)
- def get_y_value(self, x):
- if x not in self.dots[0]:
- try:
- y = self.set_y_value(x)
- return y
- except Exception:
- return None
- else:
- index = self.dots[0].index(x)
- return self.dots[1][index]
- def main():
- graph = Graphic('1/x')
- print(*graph.get_dots())
- print()
- print(graph.get_y_value(1))
- print()
- print(graph.get_y_value(0))
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement