Python中文
首页
教程
问答
标签
搜索
登录
注册
如何简化评分系统函数中重复的ifelif语句?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>目标是建立一个程序,将分数从“0到1”系统转换为“F到a”系统:</p> <ul> <li>如果<code>score >= 0.9</code>将打印“A”</li> <li>如果<code>score >= 0.8</code>将打印“B”</li> <li>0.7,C</li> <li>0.6,D</li> <li>任何低于该点的值,打印F</li> </ul> <p>这是构建它的方法,它在程序中起作用,但它有点重复:</p> <pre><code>if scr >= 0.9: print('A') elif scr >= 0.8: print('B') elif scr >= 0.7: print('C') elif scr >= 0.6: print('D') else: print('F') </code></pre> <p>我想知道是否有一种方法可以构建一个函数,这样复合语句就不会 重复</p> <p>我是一个完全的初学者,但我会:</p> <pre><code>def convertgrade(scr, numgrd, ltrgrd): if scr >= numgrd: return ltrgrd if scr < numgrd: return ltrgrd </code></pre> <p>可能吗</p> <p>这里的意图是,稍后我们可以通过只传递scr、numbergrade和letter grade作为参数来调用它:</p> <pre><code>convertgrade(scr, 0.9, 'A') convertgrade(scr, 0.8, 'B') convertgrade(scr, 0.7, 'C') convertgrade(scr, 0.6, 'D') convertgrade(scr, 0.6, 'F') </code></pre> <p>如果可以通过更少的论点,那就更好了</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以为每个等级指定阈值:</p> <pre><code>grades = {"A": 0.9, "B": 0.8, "C": 0.7, "D": 0.6, "E": 0.5} def convert_grade(scr): for ltrgrd, numgrd in grades.items(): if scr >= numgrd: return ltrgrd return "F" </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
9 回答
如何在乒乓球游戏中阻止球
6 回答
如何在乘法和模中不乘空间?
6 回答
如何在乘法和除以2个不同的数字之间进行交换?
9 回答
如何在也是数据一部分的单个字符上拆分大字符串
7 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
4 回答
如何在事件wxWidgets中传递自定义数据
5 回答
如何在事件中使用lambda i=i?
3 回答
如何在事件中心只接收最近的数据
6 回答
如何在事件发生之前保持云函数运行?
1 回答
如何在事件发生后使页面重定向到同一页面
1 回答
如何在事件回调之间保持python生成器的状态
8 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
7 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
7 回答
如何在事件处理程序中访问外部对象?
10 回答
如何在事件循环中将协程打包为正常函数?
5 回答
如何在事件循环之外运行协同程序?
9 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
7 回答
如何在事件文件中只保留一份摘要?
2 回答
如何在事件模板中添加事件
7 回答