a GUI program that plots arbitrary user-entered function.
- Take a function of x from the user, e.g., 5x^3 + 2x.
- Take min and max values of x from the user.
- The following operators must be supported: + - / * ^.
- The GUI should be simple and beautiful (well organized).
- Apply appropriate input validation to the user input.
- Display messages to the user to explain any wrong input.
- You may use programming language and platform of your choice.
- You must test your program. Include the testing codes in your repository.
- Your code should be well organized and well documented.
- Python today is one of the most popular simple universal languages for data visualization and even more. It is often the best choice for solving problems in Machine Learning, Deep Learning, Artificial Intelligence, and so on. It is object-oriented, easy to use, and developer-friendly due to its highly readable code.
- By using Python codes, one can easily automate their industrial tasks, and can also reach an advanced level of automation. In automation software testing, Python is considered to be a performance booster. For automation tools, the developers are required to write only a few lines of code. like Unittest, The unittest unit testing framework was originally inspired by JUnit and has a similar flavor as major unit testing frameworks in other languages.
- PyCharm as an IDE.
- matplotlib as a Visualization tool.
- tkinter to Build GUI.
- Unittest to perform unit tests.
Function Plotter is modeled by Five Functions as follows:
- program_GUI Function: Provides the user with Simple and butty
GUI
. - validate_input Function: Provides User With
Messages box
if he entered Wrong Input format. - validate_eq Function: Provides User With Messages box if he entered Wrong
Equation
format. - check_user_input Function: Provides User With
Messages box
if he entered Wrong Range of Values of X format. - plot Function: Provides User With
butty graph
of Equation formula.
snapshots of working and wrong examples:
Valid Input (equation & min x & max x) :
Valid Input (equation & min x & max x) :
InValid Input (equation) :
InValid Input (min x | max x) :
- Install the Used Technologies.
- Import style & regex packages in your program, ex:
from qbstyles import mpl_style
import re