擅长:python、mysql、java
<p>你的比较搞砸了。他们不会说出你的意思,很多人的评价总是错误的。不可能有一个等级为<code>0.0 >= grade1 >= 50.0</code>,因为没有大于等于50的非正数。我建议你写下你的多次比较“漫长的路”,直到你明白你的意思,而不是使用Python的这个按键保存功能。<code>a < b < c</code>在Python中的意思是<code>a < b and b < c</code>而不是{<cd4>},这是你想在第一个“if”语句中说什么的形式。在</p>
<p>最后,当在一个表达式中编写多个比较时,不要混淆比较的方向,这是不必要的混淆(首先对您来说)。在</p>
<p>一种更简洁的编写(计算部分)函数的方法:</p>
<pre><code>def avg_passing_grade(grade1, grade2):
passing_grades = [g for g in (grade1, grade2) if 50 <= g <= 100]
return sum(passing_grades)/max(1, len(passing_grades))
</code></pre>
<p>这使得一个列表<code>passing_grades</code>只包含提供给正在传递的函数的等级。函数返回他们的平均值,注意不要除以0,以防没有分数通过。在</p>
<p>虽然下面的功能可能有些过火,但我不得不提一下:上面的函数很容易概括为取任意分数的函数:</p>
^{pr2}$
<p>你可以这样使用:</p>
^{3}$