Python Forum
a calculator command in python
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
a calculator command in python
#1
a simple calculator command in python is rather easy to do. the eval() built-in function makes it nearly trivial. so what about one that does calculations like the decimal module does, but without requiring the expressions code any decimal functions (so a user can do: "calc 0.1+0.1+0.1-0.3" and get 0.0 or 0)?
Tradition is peer pressure from dead people

What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
Reply
#2
Hm!
Eval? What if the user input is: import subprocess; subprocess.run(['rm', '-rf', '/'], check=True) ?

There is a safe way to use eval but it is a bit more coding. You have to pass a dictionary with the allowed functions and methods.
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#3
a "calc" command is not a "python script in one line" command. let them use "python -c" if that's what they need. i used to do a lot of commands like "python -c 'import math;print math.sqrt(57600)'" for my electrical calculations until i threw together a command named "sqrt". fyi, the "calc" command i made does "from math import *" so i can do a plain "sqrt()", and others like it. maybe i should do that with "cmath", too. and maybe "decimal". oh wait, i wanted "decalc" to just do everything in decimal.
Tradition is peer pressure from dead people

What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020