问题:如何将不规则的数字,如1,2,3,5,11,12,20格式输出为【1-3】,【5】,【11-12】,【20】
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])
连续的数字整理到一起输出
解题思路:
1、解析数组,把连续的数字放到新的列表中
2、格式化输出,列表中存在连续数字输出为【a[0]-a[-1]】