在Python中手动排序

时间:2012-09-26 01:49:39

标签: python sorting if-statement input

所以我为我的Python课程做了一个家庭作业,我根本无法弄清楚该怎么做。

基本上我们的教授希望我们分解“已排序”的内置Python函数,并在使用else,elif和if语句时自行完成。

我们首先要求用户输入4个数字,然后使用else,elif以及如果我们不允许使用内置的“已排序”功能按升序对它们进行排序和打印。

这就是我需要做的事情:

示例输出:

>>> sort4() 
Please enter a number: 1.1 
Please enter a number: -7.3 
Please enter a number: 32 
Please enter a number: 3.14 
Your numbers in ascending order are: -7.3 1.1 3.14 32

如果有任何可以帮助或帮助我的事情,请尽快这样做。谢谢!

1 个答案:

答案 0 :(得分:2)

首先,用伪代码写出你的算法(这是一个非常天真的算法):

  1. 从用户那里获得四个号码
  2. 取第一个号码(称之为first
  3. 检查它是否小于第二个数字(称为second
  4. 如果first小于second,则将其与其他号码(thirdfourth)进行核对
  5. 如果经过此类检查,first是四个数字中最小的一个,将其打印出来
  6. 如果first大于遇到的任何其他号码,请改为将其他号码称为first,并针对其他两个号码检查
  7. 打印出第一个号码后,使用其他三个号码重复此过程

    现在,尝试对此进行编码,如果再次发现,我们会提供帮助

    编辑1(“我该如何做”和“s”)

    “和if”本质上是两个嵌套的if语句。例如:

    如果我想说(伪代码)“如果下雨,如果我没有车,我会带雨伞”,然后我会说:

    if it is raining
        if I do not have the car
            I will carry an umbrella
    

    因此,要在python中执行此操作,您必须执行以下操作:

    if conditionA:
        if conditionB:
            # do stuff…
    

    希望有所帮助