题目描述
编程实现:给定一组整数数据(不超过100个整数),按顺序完成以下操作并输出结果。
操作要求:
1)将数据中的所有负整数转化为正整数;
2)对转化后的数据进行从小到大排序。
例如:整数数据为1,-3,6,-2,将负整数转化为正整数后得到1,3,6,2,按数值从小到大排序后的结果为1,2,3,6。
输入描述
输入一行整数数据(-100≤N≤100),整数之间以一个英文逗号隔开
输出描述
输出一行整数数据,表示按照要求操作后的结果,整数之间以一个英文逗号隔开
样例展示
输入数据 1
1,-3,6,-2
输出数据 1
1,2,3,6
编码方法
方法一
今天做这道题的时候忘记怎样用逗号分隔列表元素输出,用了一种麻烦的方法:把得到的列表转换成字符串,去掉空格、‘ [ ’、‘ ] ’。
l=list(map(int,input().split(',')))
l=[abs(i) for i in l]#abs(i):i的绝对值
l.sort()
l=str(l)#转换成字符串后会有空格
s=''
for j in l:
if j!=' ' and j!='[' and j!=']':
s+=j
print(s)
方法二
以下是用join方法做的
l=list(map(int,input().split(',')))
l=[abs(i) for i in l]
l.sort()
print(','.join(str(i) for i in l))
print(','.join(str(i) for i in l))
只用这一行便能解决了,例:ln=[1,2,3,4]
ln=[1,2,3,4]
for i in ln:
print(i,end=',')
以上方法得到的结果:
1,2,3,4,
最后会多了一个逗号,不正确。