问答

python程序书写

作者:admin 2021-07-23 我要评论

from collections import defaultdictimport reP = re.compile(r'\+?(-?\d*)(x\^?)?(\d*)')def differentiate(eq, x): derivate = defaultdict(int) for coef,va...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
from collections import defaultdict
import re

P = re.compile(r'\+?(-?\d*)(x\^?)?(\d*)')

def differentiate(eq, x):
    
    derivate = defaultdict(int)
    for coef,var,exp in P.findall(eq):
        exp  = int(exp or var and '1' or '0')
        coef = int(coef!='-' and coef or coef and '-1' or '1')
        
        if exp: derivate[exp-1] += exp * coef
    
    return sum(coef * x**exp for exp,coef in derivate.items())

程序功能为对多项式求导 其中for循环中的语句能看懂 但是自己写起来会逻辑混乱,想请问一下如果自己写循环中的语句的话应该是怎样一个思路,怎么确定各参数书写的位置和and和or的选择。谢谢

###

and和or的选择全依赖你脑海中的逻辑。
代码只是你脑子中逻辑的可视化而已。所以要先想清楚,然后再写代码。
可以先在纸上把逻辑写出来,理通顺了再转换成代码。
如果代码看起来乱,有几点小建议:
1.在每行代码上面写上注释。解释每行代码干嘛的
2.if else表达式不要太长,长的话 表达式都定义为变量,就像上面的代码里的exp coef那样就很好
3.表达式里有多个 and or 的时候 可以加上括号,标明优先级。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • python程序书写

    python程序书写

  • 问一问在vue中出现这个问题是什么意思

    问一问在vue中出现这个问题是什么意思

  • Python  用第三方库执行 JS 代码时出错

    Python 用第三方库执行 JS 代码时出错

  • vuepress npm run dev 失败

    vuepress npm run dev 失败

腾讯云代理商
海外云服务器