Kushal introduced us to command-line parsing module argparse in Python3 on Wednesday in dgplug. Well now I am having the real fun with Python.
I have made a simple calculator using argparse that calculates addition, subtraction, division and multiplication. Run the code in Linux terminal as given below in the image.
The code:
import argparse #Addition function def add(a,b): val = a+b return val #Subtraction function def sub(a,b): val = a-b return val #Division function def div(a,b): val = a/b return val #Multiplication function def multi(a,b): val = a*b return val #Main function def Main(): parser = argparse.ArgumentParser() group = parser.add_mutually_exclusive_group() group.add_argument("-fa","--fadd",help="Performs addition",action="store_true") group.add_argument("-fs","--fsub",help="Performs subtraction",action="store_true") group.add_argument("-fd","--fdiv",help="Performs division",action="store_true") group.add_argument("-fm","--fmulti",help="Performs multiplication",action="store_true") parser.add_argument("num1",help="Number1 to calculate",type=int) parser.add_argument("num2",help="Number2 to calculate",type=int) args = parser.parse_args() #Optional arguments if args.fadd: print("The addition result of {} and {} is {}".format(args.num1,args.num2,(add(args.num1,args.num2)))) elif args.fsub: print("The subtraction result of {} and {} is {}".format(args.num1,args.num2,(sub(args.num1,args.num2)))) elif args.fdiv: print("The division result of {} and {} is {}".format(args.num1,args.num2,(div(args.num1,args.num2)))) elif args.fmulti: print("The multiplication result of {} and {} is {}".format(args.num1,args.num2,(multi(args.num1,args.num2)))) else: print("Error:Requires an argument to perform an action") if __name__ == '__main__': Main()
This works like :
Leave comments for modification of the code 🙂
[…] used Python3 to build this command line tool. You will find that I had already made a blog post on Command line calculator earlier. Now this new post comes with some edits of the earlier one and another important thing is […]
LikeLike
I have never use python language. Done d basics in c…Should I start python too? Or continue wd c ? Thanks.
LikeLike
I have never used python language. Done d basics in c…Should I start python too? Or continue wd c ? Thanks.
LikeLiked by 1 person
It is good to hear that you have done the basics of C, because if you know C well it becomes easier to learn Python or any other programming language. The syntax of python programming language is really simple. C is a procedural programming language and Python is object oriented programming language. So before starting with object oriented programming one should learn procedural programming. Since you have done the basics of C, so I don’t think you’ll face problem understanding object oriented programming 🙂 .If you are really interested, you can start learning Python. You can start learning Python here http://www.codecademy.com and use Python documentation as reference.
Feel free to ask if you have anymore query 🙂
LikeLiked by 1 person
Thanks.Wll check d site then. 🙂
LikeLiked by 1 person
Check this one too 🙂 http://pymbook.readthedocs.org/en/latest/
LikeLike
For python only? Okay. I just need smthing where I can have a step by step tutorial..like a classroom teaching.
Anyways,
Thanks 🙂
LikeLike
You can try this https://www.codecademy.com/tracks/python
Covers the basics of Python
LikeLiked by 1 person
So the point is that if only one parameter is needed to be choosen then grouping of arguments should be used. Otherwise simple adding arguments to a parser will work. That for example allows to calculate with different operators at the same time: ‘python3 calc.py 3 5 -fa -fs’ will work.
LikeLike