Kita bisa memasukkan fungsi kuadrat, sinus, pangkat tiga dan lain-lain sebagai input.
import sys,parser
from math import *
y = sys.argv[1]
x = int(sys.argv[2])
z = parser.expr(y).compile()
print 'Nilai fungsi ', y, ' pada x = ',x,' adalah ',eval(z)
Simpan dengan nama f.py. Jalankan dengan perintah
python f.py
Berikut beberapa hasilnya, lengkap beserta kesalahan-kesalahannya
Nugrohos-MacBook-Pro:python nugroho$ python f.py x**2 4
Nilai fungsi x**2 pada x = 4 adalah 16
Nugrohos-MacBook-Pro:python nugroho$ python f.py sin(x) 4
-bash: syntax error near unexpected token `('
Nugrohos-MacBook-Pro:python nugroho$ python f.py 'sin(x)' 4
Nilai fungsi sin(x) pada x = 4 adalah -0.756802495308
Nugrohos-MacBook-Pro:python nugroho$ python f.py 'sin(x)+x**2' 4
Nilai fungsi sin(x)+x**2 pada x = 4 adalah 15.2431975047
Nugrohos-MacBook-Pro:python nugroho$ python f.py 'x**2+2x-8' 4
Traceback (most recent call last):
File "f.py", line 5, in
z = parser.expr(y).compile()
File "
x**2+2x-8
^
SyntaxError: invalid syntax
Nugrohos-MacBook-Pro:python nugroho$ python f.py 'x**2-2x-8' 4
Traceback (most recent call last):
File "f.py", line 5, in
z = parser.expr(y).compile()
File "
x**2-2x-8
^
SyntaxError: invalid syntax
Nugrohos-MacBook-Pro:python nugroho$ python f.py 'x**2-2*x-8' 4
Nilai fungsi x**2-2*x-8 pada x = 4 adalah 0
Nugrohos-MacBook-Pro:python nugroho$ python f.py 'x**2+2*x-8' 4
Nilai fungsi x**2+2*x-8 pada x = 4 adalah 16
Nugrohos-MacBook-Pro:python nugroho$ python f.py x**2+2*x-8 4
Nilai fungsi x**2+2*x-8 pada x = 4 adalah 16
Nugrohos-MacBook-Pro:python nugroho$ python f.py "(x**2+2*x-8+sin(x))/(2*x+2)" 4
Nilai fungsi (x**2+2*x-8+sin(x))/(2*x+2) pada x = 4 adalah 1.52431975047
Nugrohos-MacBook-Pro:python nugroho$
Perhatikan bahwa lebih aman untuk menuliskan fungsi di dalam dua tanda petik (bisa petik satu ataupun petik dua).
No comments:
Post a Comment