第四问中的问题

長安不逢君 发表于2020年07月17日
<p>#DayDayUpQ4.py</p><p>def&nbsp;dayUP(df):</p><p>&nbsp;&nbsp;&nbsp;&nbsp;dayup&nbsp;=&nbsp;1</p><p>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i&nbsp;in&nbsp;range(365):</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;i&nbsp;%&nbsp;7&nbsp;in&nbsp;[6,0]:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dayup&nbsp;=&nbsp;dayup*(1&nbsp;-&nbsp;0.01)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dayup&nbsp;=&nbsp;dayup*(1&nbsp;+&nbsp;df)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dayup</p><p>dayfactor&nbsp;=&nbsp;0.01</p><p>while&nbsp;dayUP(dayfactor)&nbsp;&lt;&nbsp;37.78:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;dayfactor&nbsp;+=&nbsp;0.001</p><p>print(&quot;工作日的努力参数是:{:.3f}&nbsp;&quot;.format(dayfactor))</p><p><br ></p><p><br ></p><p>第四问中,第二行的代码dayuo(df)和第11行的代码dayUP(dayfactor)分别指什么意思呢?一样吗?</p>
3 回复

    1楼

  • 長安不逢君 发表于2020年07月17日
    0 | 0 | 举报
    <p>老师讲的时候说df是参数,dayfactor也是参数,这俩一样含义和作用分别一样吗?有点懵</p>
    長安不逢君 发表于2020年07月17日
    添加评论
  • 2楼

  • 湮灭丶Smile 发表于2020年07月17日
    1 | 0 | 举报
    <p>dayuo(df)? 没找到在哪,如果你说的是第二行的函数定义那里:</p><p>def&nbsp;dayUP(df):&nbsp; # 这个df是形式参数,是个未知数,是个假的,必须外界给函数传值才能变成真的,真的就是后面的那个</p><p>...</p><p>while&nbsp;dayUP(dayfactor)&nbsp;&lt;&nbsp;37.78:&nbsp; # 这里的&nbsp;dayUP(dayfactor) ,代表调用dayUP函数,同时给def&nbsp;dayUP(df): 中的df传值,就相当于数学中的</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;令&nbsp; df &nbsp;&nbsp;= dayfactor ,把 真正的参数传给了函数,dayfactor 就是 实参,实际参数。</p><p>拓展一下,就是,Python是一门解释型语言,在解释器遇到def 这个函数声明时,只会把这个函数给圈起来画个重点(加载到内存中),但因为考试周还很远(函数还不需要使用时),所以不会去翻书(不会执行),只有快考试了(解释器运行到(while&nbsp;dayUP(dayfactor)&nbsp;&lt;&nbsp;37.78:),解释器才知道,哦,原来要考试了(函数要被调用了),才会翻书看看到底说了什么(具体要怎么执行函数),此时开始执行。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;你们可以试下,想要知道这种解释器遇见函数的操作,可以如下:<br ></p><p>def foo():&nbsp;<br > &nbsp; &nbsp;sadfs&amp;*……%……()……()……&amp;hnf&nbsp; # 在这打一堆乱码<br ><br >print(&quot;hello world&quot;)</p><p>只要定义函数的时候不出错,运行的时候只会出现 hello world</p><p>只有当你foo()时,(Python中,函数名加上括号就表示调用该函数),才会报错</p>
    湮灭丶Smile 发表于2020年07月17日
    添加评论
  • 3楼

  • BIT1120172558 发表于2020年07月17日
    0 | 0 | 举报
    <p>感谢同学们的回答</p>
    BIT1120172558 发表于2020年07月17日
    添加评论