python绝对值_绝对值排序 (Python代码)

# 优化思路:

# 因为输入的第一个数字表示元素个数,所以,在将其内容存进列表时,

# 存入的个数最好是按照第一个数的值来存入,而不是比较输入数字的

# 个数来存。这样的话,如果输入的个数与第一个数字不匹配,则会截

# 取掉多余的数据。虽然现在的代码能通过,但是是有点小问题的

import math

while True:

ipt = input().split()

# 输入的第一个数字如果是0,则退出循环

if ipt[0] == '0':

break

# list2用于存放输入的数字

# list1用于存放去绝对值后的数据

list1 = []

list2 = []

# 将输入的数据,从第二个数字开始存入列表。第一个数据是指数据个数,不用存放在列表中

for i in range(1, len(ipt)):

m = int(ipt[i])

n = int(math.fabs(m))

if n not in list1:

list1.append(n)

list2.append(m)

# 对list1列表进行倒序排序

list1.sort(reverse=True)

for i in range(0, len(list1)):

for j in range(0, len(list2)):

# 如果list2中元素绝对值和list1中元素相等,则输出

if math.fabs(list2[j]) == list1[i]:

print(list2[j], end= ' ')

break

print()

0.0分

0 人评分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值