LMT.czj 2024-12-11 13:54 采纳率: 82.4%
浏览 16
已结题

合并队列 Python填空题

某班男女两队同学各若干人,男生已按身高由低到高存放在列表中,女生身高需输入到一个列表。体育课排队欲由男、女两队合为一队。请保持从低到高的顺序不变,将合并队列的结果按格式”身高(性别)“输出。如下所示。

img

  • 写回答

1条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    根据你提供的代码,我理解你想要合并两个列表(男生和女生的身高),并且按照身高顺序输出。以下是我为你填充的代码:

    图1内容:

    boy = [1.69, 1.72, 1.78, 1.83, 1.89]
    girl = list(eval(input()))  # 通过input获取女生身高列表
    
    # 打印男队身高
    print("男队身高:", end='')
    for b in boy:
        print(b, end=' ')
    print("\n女队身高:", end='')
    
    # 合并并打印身高,保持顺序
    i = 0
    j = 0
    while i < len(boy) or j < len(girl):
        if i < len(boy) and (j == len(girl) or boy[i] < girl[j]):  # 如果男孩还有剩余或者女孩已经遍历完且男孩的身高较小
            print(f"{boy[i]}(男)", end=' ')
            i += 1
        else:  # 女孩还有剩余或者女孩当前的身高较大
            print(f"{girl[j]}(女)", end=' ')
            j += 1
    
    print("\n合并后:")  # 打印合并后的结果
    

    图2内容类似,只需将print()函数中的字符串格式统一即可。主要改动在判断条件和循环的逻辑上。我已经在上面的代码中给出了合并并打印身高的部分。你需要确保输入的girl列表是有效的,并且长度与boy列表相匹配(或者更长)。如果girl列表可能更短,那么你需要处理这种情况,避免索引错误。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月26日
  • 已采纳回答 12月18日
  • 修改了问题 12月11日
  • 创建了问题 12月11日