Post Reply 
How do I get CAS to evaluate a Python-in-CAS function? (Solved)
12-13-2019, 03:48 PM (This post was last modified: 12-13-2019 04:06 PM by StephenG1CMZ.)
Post: #3
RE: How do I get CAS to evaluate a Python-in-CAS function?
The function works fine in CAS and PPL shell, and now from PPL

My error was naming the function hamming distance but calling hammingdist.
Fixing that it evaluates as expected.

Code:


CAS:
#cas
def hammingdist(s1, s2) -> int:
    """Return the Hamming distance between equal-length sequences."""
    if len(s1) != len(s2):
        raise ValueError("Undefined for sequences of unequal length.")
    count = 0
    for ii in range(size(s1)):
     if s1[ii] != s2[ii]:
      count = count+1
    return count

    """return sum(el1 != el2 for el1, el2 in zip(s1, s2)) """


PPL:

 EXPORT TRY()
 BEGIN
  LOCAL ST1:="AB";
  LOCAL ST2:="AB";
  PRINT( CAS("(hammingdist(ST1,ST2))") ); 
  PRINT(CAS("sum(N^2,N,1,5)")); //works
  RETURN CAS("(hammingdist(ST1,ST2))");
 END;

Stephen Lewkowicz (G1CMZ)
https://my.numworks.com/python/steveg1cmz
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: How do I get CAS to evaluate a Python-in-CAS function? - StephenG1CMZ - 12-13-2019 03:48 PM



User(s) browsing this thread: 1 Guest(s)