以特殊格式处理连续增加的数字
1、程序简介
要求
给出一串数字, 程序要把数字按照这样的格式输出,把连续增加的数字用 [x-y] 的形式表示,只显示这一组顺序数字的首位两个数字,不连续增加的数字单独列出。
例如:
输入:
1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 20, 21, 22;
输出:
[1-5] [8] [10-13] [20-22]。
2、程序代码
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 28 09:24:22 2021
Function: 以特殊格式处理连续增加的数字
@author: 小梁aixj
"""
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])