鱼C论坛

 找回密码
 立即注册
查看: 1619|回复: 5

[已解决]求问一道python题

[复制链接]
发表于 2021-12-19 01:35:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
程序设计题 跳高成绩预选
‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

描述
程序功能:根据现有的若干小组的跳高预选赛比赛成绩,列出每个小组有资格参加初赛的成绩(大于等于初赛资格142)。
程序中需建立函数passList(),要求如下:
函数有两个形参,第一个为一个序列(或元组),将接收一个小组的成绩;第二个形参接收资格线。
函数从小组成绩中筛选出有初赛资格的成绩(大于等于资格线),将其放入一列表。
函数返回筛选出的该列表。
程序中需建立主程序,要求如下:
使用循环体将每个小组成绩以及资格线(142)作为实参调用passList()函数,得到有资格参加初赛的成绩列表。
输出每个小组获得参加初赛的成绩列表(组号与成绩之间用制表符分隔,各成绩之间用空格分隔)。
程序运行结果如下图所示:
>>>
获得初赛资格的成绩
第1组:        150
第2组:        149 143
第3组:       
第4组:        152 149
>>>

模板是这个
#计算每一个预选赛跳高比赛小组中能进入初赛的成绩,初赛资格线:142
groups=(
(78,150,90,102,110,141),        #第一组
(149,88,132,95,108,112,143),    #第二组
(100,123,125,99,106,118,133),
(152,86,132,95,70,122,149,124),
)
def passList(scores,lowlimit):
    # TODO: write code...passList()
def main():
    # TODO: write code...main()
main()
最佳答案
2021-12-19 02:47:36
本帖最后由 WaitOtherCutely 于 2021-12-19 02:51 编辑
groups = (
    (78,150,90,102,110,141),
    (149,88,132,95,108,112,143),
    (100,123,125,99,106,118,133),
    (152,86,132,95,70,122,149,124)
)


def passList(scores: iter, lowlimit: int or float =142) -> list:
    return [str(i) for i in scores if i >= lowlimit]
    
    
def main() -> None:
    print("获得初赛资格的成绩")
    
    for n, group in enumerate(groups, start=1):
        print("第%d组:\t%s" % (n, " ".join(passList(group))))
              

if __name__ == "__main__":
    main()

如果此回答解决了您的疑问 别忘了设至最佳答案或已采纳 谢谢您~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-19 02:47:36 | 显示全部楼层    本楼为最佳答案   
本帖最后由 WaitOtherCutely 于 2021-12-19 02:51 编辑
groups = (
    (78,150,90,102,110,141),
    (149,88,132,95,108,112,143),
    (100,123,125,99,106,118,133),
    (152,86,132,95,70,122,149,124)
)


def passList(scores: iter, lowlimit: int or float =142) -> list:
    return [str(i) for i in scores if i >= lowlimit]
    
    
def main() -> None:
    print("获得初赛资格的成绩")
    
    for n, group in enumerate(groups, start=1):
        print("第%d组:\t%s" % (n, " ".join(passList(group))))
              

if __name__ == "__main__":
    main()

如果此回答解决了您的疑问 别忘了设至最佳答案或已采纳 谢谢您~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-19 09:18:16 | 显示全部楼层
groups = (
    (78, 150, 90, 102, 110, 141),
    (149, 88, 132, 95, 108, 112, 143),
    (100, 123, 125, 99, 106, 118, 133),
    (152, 86, 132, 95, 70, 122, 149, 124)
)

def passList(scores: tuple, lowlimit: int = 142) -> list:
    return [i for i in scores if i >= lowlimit]

def main() -> None:
    print("获得初赛资格的成绩")
    
    for n, group in enumerate(groups, start = 1):
        print(f"第{n}组:\t", *passList(group))
              
if __name__ == "__main__":
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-19 11:57:09 | 显示全部楼层
WaitOtherCutely 发表于 2021-12-19 02:47
如果此回答解决了您的疑问 别忘了设至最佳答案或已采纳 谢谢您~!

感谢,不过测试用例的结果末尾少个空格,请问该怎么解决呢,如何末尾加空格且不换行呢file:///C:/Users/12848/Pictures/Saved%20Pictures/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20211219115610.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-19 11:57:47 | 显示全部楼层

感谢,不过测试用例的结果末尾少个空格,请问该怎么解决呢,如何末尾加空格且不换行呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-19 12:56:43 | 显示全部楼层
cjyluo 发表于 2021-12-19 11:57
感谢,不过测试用例的结果末尾少个空格,请问该怎么解决呢,如何末尾加空格且不换行呢

不是很明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 15:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表