HP Forums
How to run Python (new Prime) ? - 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: How to run Python (new Prime) ? (/thread-16692.html)



How to run Python (new Prime) ? - OlidaBel - 04-19-2021 02:40 PM

Hello,
How can I run Python on a G2 ?
There is no Python app on my calculator (unboxed a week ago).
Should I install something ? Is there a documentation on this subject ?

thank you.


RE: How to run Python (new Prime) ? - KeithB - 04-19-2021 02:42 PM

It is only Beta at this time. Look at the Beta threads.


RE: How to run Python (new Prime) ? - OlidaBel - 04-19-2021 02:50 PM

(04-19-2021 02:42 PM)KeithB Wrote:  It is only Beta at this time. Look at the Beta threads.

I understood Running Python is not a new feature...
I see many posts on the web with Python examples, but none of them explain how they get Python module/app. I don't think only the new Beta can run Python.


RE: How to run Python (new Prime) ? - toml_12953 - 04-19-2021 02:56 PM

(04-19-2021 02:50 PM)OlidaBel Wrote:  
(04-19-2021 02:42 PM)KeithB Wrote:  It is only Beta at this time. Look at the Beta threads.

I understood Running Python is not a new feature...
I see many posts on the web with Python examples, but none of them explain how they get Python module/app. I don't think only the new Beta can run Python.

You can also use Python syntax in a CAS program in the shipping version of the OS. Perhaps that's what those programs you see are doing.
Code:
#cas
def pyhat():
  t0 = ticks # Save the current clock count for timing program
  # Clear screen
  rect_p(0,0,319,239,rgb(0,0,0))
  # Start program proper
  p=160; q=120
  xp=144; xr=1.5*3.1415927
  yp=56; yr=1; zp=64
  xf=xr/xp; yf=yp/yr; zf=xr/zp
  for zi in range(-q,q+1):
    if zi>=-zp and zi<=zp:
      zt=zi*xp/zp; zz=zi
      xl=int(.5+sqrt(xp*xp-zt*zt))
      # Draw one cross-section of figure
      for xi in range(-xl,xl+1):
        xt=sqrt(xi*xi+zt*zt)*xf; xx=xi
        yy=(sin(xt)+.4*sin(3*xt))*yf
        x1=xx+zz+p
        y1=yy-zz+q
        pixon_p(x1,230-y1,rgb(0,255,0))
        if y1!=0:
          Line_p(x1,230-y1+1,x1,230) # Erase points below current point
  t = ticks-t0
  # Wait for key and print elapsed time
  wait
  print(approx(t/1000)+" seconds")
#end



RE: How to run Python (new Prime) ? - OlidaBel - 04-19-2021 03:11 PM

(04-19-2021 02:56 PM)toml_12953 Wrote:  You can also use Python syntax in a CAS program in the shipping version of the OS. Perhaps that's what those programs you see are doing.
Code:
#cas
def pyhat():
  t0 = ticks # Save the current clock count for timing program
  # Clear screen
  rect_p(0,0,319,239,rgb(0,0,0))
  # Start program proper
  p=160; q=120
  xp=144; xr=1.5*3.1415927
  yp=56; yr=1; zp=64
  xf=xr/xp; yf=yp/yr; zf=xr/zp
  for zi in range(-q,q+1):
    if zi>=-zp and zi<=zp:
      zt=zi*xp/zp; zz=zi
      xl=int(.5+sqrt(xp*xp-zt*zt))
      # Draw one cross-section of figure
      for xi in range(-xl,xl+1):
        xt=sqrt(xi*xi+zt*zt)*xf; xx=xi
        yy=(sin(xt)+.4*sin(3*xt))*yf
        x1=xx+zz+p
        y1=yy-zz+q
        pixon_p(x1,230-y1,rgb(0,255,0))
        if y1!=0:
          Line_p(x1,230-y1+1,x1,230) # Erase points below current point
  t = ticks-t0
  # Wait for key and print elapsed time
  wait
  print(approx(t/1000)+" seconds")
#end

exactly. now it's ok. It was a hidden feature.
It's also case sensitive, "DEF" is not accepted, I must write "def", etc.
I'd rather try on a real keyboard !
at least, it works, Thank you.


RE: How to run Python (new Prime) ? - dae - 05-11-2021 06:59 PM

If you are trying this code in cas,
first create and save the code exactly as is, in a program.
Delete any template code (EXPORT, BEGIN, END) lines.

Run the function, by calling <name of program>:<name of function>()

For example, if code is saved as test01,
in cas screen, type test01:pyhat()

Fast way: open the emulator,
copy/paste the code into a new program,
then use the connectivy kit, to transfer the program
to the physical Prime.