【问题标题】:Manual Sorting in Python [closed]Python中的手动排序[关闭]
【发布时间】:2012-09-26 01:49:39
【问题描述】:

因此,我为我的 Python 课程布置了一项家庭作业,但我根本不知道该怎么做。

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

我们需要先要求用户输入4个数字,然后用else,elif和if进行升序排序打印,而不允许使用内置的“sorted”函数。

这是我需要它做的事情:

示例输出:

>>> 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

如果有什么可以帮助或帮助我的,请尽快这样做。谢谢!

【问题讨论】:

  • @hayden:这不是同一个问题。那是关于冒泡排序的。 OP 的作业问题是试图教授控制流(因此强制 ifelifelse)。此外,sorted 没有实现冒泡排序。

标签: python sorting if-statement input


【解决方案1】:

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

  1. 从用户那里得到四个号码
  2. 取第一个号码(叫它first
  3. 检查它是否小于第二个数字(称为second
  4. 如果first 小于second,请检查其他数字(thirdfourth
  5. 如果经过这样的检查,first 是四个数字中最小的一个,打印出来
  6. 如果first 大于遇到的任何其他数字,则将该其他数字称为first,并对照其他两个数字检查

第一个数字打印出来后,用其他三个数字重复该过程

现在,尝试编写代码,如果您再次遇到问题,我们会提供帮助

EDIT 1('我如何让它做“如果”s')

“and 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…

希望有帮助

【讨论】:

  • 我遇到了语法错误,如何让它执行“and if”?
猜你喜欢
  • 2020-04-22
  • 1970-01-01
  • 2017-04-14
  • 2016-05-12
  • 2023-03-29
  • 2020-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多