weixin_42248141 2021-05-31 11:09 采纳率: 52.4%
浏览 51
已采纳

请教一个指定格式输出的问题

给出一串数字,如,1, 2, 3, 4, 5, 8, 10, 11, 12, 13,  20, 21, 22;

如何按照格式[1-5] [8] [10-13] [20-22]输出

这是一道编程题

  • 写回答

1条回答 默认 最新

  • 浮萍er 2021-05-31 14:02
    关注
    # -*- coding: utf-8 -*-
    # Python3
    # 输入格式:1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 20, 21, 22
    seq = list(map(int, input().split(',')))
    tmp = [seq[0]]
    all_list = []
    for n in range(len(seq)):
        if n == len(seq) - 1:
            all_list.append(tmp)
            break
        if seq[n + 1] - seq[n] == 1:
            tmp.append(seq[n + 1])
        else:
            all_list.append(tmp)
            tmp = [seq[n + 1]]
    for a in all_list:
        if len(a) > 1:
            print('[%s-%s]' % (a[0], a[-1]))
        else:
            print('[%s]' % a[0])
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面