HP Forums
Where's the Error? - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: Where's the Error? (/thread-17410.html)



Where's the Error? - toml_12953 - 08-30-2021 03:04 PM

I'm trying to run the following program on my Prime (both emulator and physical) and it gives me a syntax error in line 9. I've been looking at it and looking at it and I can't see the error. What am I doing wrong?

Code:
#PYTHON name
from math import *
t=eval("ticks()")
loops=1000
for i in range(0,loops):
  r0=10
  while True:
    x=r0 
    x+=1
    x-=4.567ᴇ−4
    x+=70
    x-=69
    x*=7
    x/=11
    r0-=1
    if r0<=0:
      break
  x=log(x)
  x=sin(x)
  x=sqrt(x)
  x=sqrt(x)
print(x)
t=(eval("ticks()")-t)/1000
print("Index:",34/t*loops) 
#end   
EXPORT calcperf()
BEGIN
  PYTHON(name);
END;



RE: Where's the Error? - Didier Lachieze - 08-30-2021 03:36 PM

With a few changes your program runs and returns:

0.880981899968678
Index: 1172413.79310345

The changes I made:
  1. add 'from hpprime import *' at the beginning
  2. replace the 'ᴇ−' on line 9 by standard 'E-' letters, it seems that the special character codes used by the Prime for E and minus signs are not supported by Python.

Code:
#PYTHON name
from math import *
from hpprime import *
t=eval("ticks()")
loops=1000
for i in range(0,loops):
  r0=10
  while True:
    x=r0 
    x+=1
    x-=4.567E-4
    x+=70
    x-=69
    x*=7
    x/=11
    r0-=1
    if r0<=0:
      break
  x=log(x)
  x=sin(x)
  x=sqrt(x)
  x=sqrt(x)
print(x)
t=(eval("ticks()")-t)/1000
print("Index:",34/t*loops) 
#end 
EXPORT calcperf()
BEGIN
  PYTHON(name);
END;



RE: Where's the Error? - toml_12953 - 08-30-2021 04:40 PM

(08-30-2021 03:36 PM)Didier Lachieze Wrote:  With a few changes your program runs and returns:

0.880981899968678
Index: 1172413.79310345

The changes I made:
  1. add 'from hpprime import *' at the beginning
  2. replace the 'ᴇ−' on line 9 by standard 'E-' letters, it seems that the special character codes used by the Prime for E and minus signs are not supported by Python.

Thank you!
Now that you've solved it. I have to say of course! I should have known the ticks function is found in the hpprime module but the exponent error is more subtle. It makes sense, though.