Tac 发表于 2020-11-23 13:43:07

求大佬帮忙 排序问题

给定来自标准输入的整数,对这些数字进行排序。按降序排列并逐行输出结果。每个数字都以一行文本的形式给出。
程序必须在输入文本为空时结束。输入数据将提供最多10万个范围从-9到+9(无符号的一位数)的整数。
这里,请用手工编写排序过程,即避免使用内置函数进行排序,如sort()或sorted()

skyrimz 发表于 2020-11-23 13:56:43

你是来找作业答案的吧{:10_249:}

jackz007 发表于 2020-11-23 14:08:02

def mysort(d):
    for i in range(len(d) - 1):
      for j in range(i + 1 , len(d)):
            if d > d:
                d , d = d , d
def myshow(d):
    print(d , end = '')
    for k in range(1 , len(d)) : print(' %d' % d , end = '')
    print()
   
s = input() . strip()
if s:
    d = list(map(int , s . split()))
    mysort(d)
    myshow(d)

Tac 发表于 2020-11-23 15:14:43

jackz007 发表于 2020-11-23 14:08


可以改一下成允许输入为
-9
8
-3
1
0
这种形式的吗?
因为我输入的时候好像只能并排输入不能跨行输入

jackz007 发表于 2020-11-23 15:41:53

本帖最后由 jackz007 于 2020-11-23 17:34 编辑

Tac 发表于 2020-11-23 15:14
可以改一下成允许输入为
-9
8


def mysort(d):
    for i in range(len(d) - 1):
      for j in range(i + 1 , len(d)):
            if d > d:
                d , d = d , d

d = []
while True :
    x = input() . strip()
    if x : d . append(int(x))
    else : break
if len(d):
    mysort(d)
    for x in d : print(x)

Tac 发表于 2020-11-23 15:46:20

jackz007 发表于 2020-11-23 15:41


12行报错了。。。

Tac 发表于 2020-11-23 17:25:34

jackz007 发表于 2020-11-23 15:41


第12行报错了,大佬

jackz007 发表于 2020-11-23 17:35:39

Tac 发表于 2020-11-23 17:25
第12行报错了,大佬

      已经改好,请你再测。

Tac 发表于 2020-11-23 17:41:00

jackz007 发表于 2020-11-23 17:35
已经改好,请你再测。

多谢多谢
页: [1]
查看完整版本: 求大佬帮忙 排序问题