实现三个数从大到小排序,下面的python代码有什么问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现三个数从大到小排序,下面的python代码有什么问题?相关的知识,希望对你有一定的参考价值。

#!/user/bin/python
# -*- coding: UTF-8 -*-

num1 = input("请输入第一个数:")

num2 = input("请输入第二个数:")

num3 = input("请输入第三个数:")

numlist = [num1,num2,num3]

for j in range(0,3):
for i in range(0,len(numlist)-1):
if numlist[i] > numlist[i+1]:
a = numlist[i]
numlist[i] = numlist[i+1]
numlist[i+1] = a

print(numlist)

    input 输入的是字符类型的数据,你应该把num1,2,3通过int变成数据类型,在这之后再运算。

    for j in range(0,3) 这一个比较次数多了,两次即可彻底比较出来,修改为for j in range(1,3)

    for i in range(0,len(numlist)-1)这一个表达不明,改成for i in range(0,2)即可。

num1 =int( input("请输入第一个数:"))

num2 = int(input("请输入第二个数:"))

num3 = int(input("请输入第三个数:"))

numlist = [num1,num2,num3]

for j in range(1,3):
for i in range(0,2):
if numlist[i] > numlist[i+1]:
a = numlist[i]
numlist[i] = numlist[i+1]
numlist[i+1] = a

print(numlist)

以上。

参考技术A 排序最简单的方式是使用内置函数sorted,接上你上面numlist = [num1,num2,num3],之后如果想从大到小排序只需numlist = sorted(numlist,reverse = True),这样就行了。至于你代码里面的问题,请你自己找出来吧。即使是单纯用代码实现,应该也不算太难。

C语言代码练习,将三个数按从大到小的顺序输出

题目:1.从大到小输出
要求:写代码将三个数按照从大到小输出
思路:定义三个整型数字a,b,c;
利用scanf函数从键盘上输入这三个数
比较这三个数的大小
a中的数字最大
b次之
c最小
利用if语句对这三个数两两进行比大小
代码实现

int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d%d%d", & a, &b, &c);//"%d,%d,%d"输入时要严格控制,加上逗号
    //算法实现
    //a中放最大值
    //b次之
    //c中放最小值
    if (a < b)
    {
        int tmp=a;
        a = b;
        b = tmp;
    }
    if (a < c)
    {
        int tmp = a;
        a = c;
        c = tmp;
    }
    if (b < c)
    {
        int tmp = b;
        b = c;
        c = tmp;
    }
    printf("%d %d %d", a, b, c);
    return 0;
}

运行结果
技术图片
注意scanf函数中要严格按照格式输出
例如

scanf("%d,%d,%d",&a,&b,&c);

在输入时:a,b,c
此时的逗号是英文逗号

    scanf("%d#%d#%d",&a,&b,&c);
在输入时:a#b#c
这就是严格按照scanf函数里面的格式输出!

以上是关于实现三个数从大到小排序,下面的python代码有什么问题?的主要内容,如果未能解决你的问题,请参考以下文章

c++三个数排序 键盘输入三个数字,输出结果从大到小排序(用if类型)

用C语言实现:将三个数按从大到小输出。

在matlab中从大到小排序

python练习:使用分支语句实现三个数排序?

C语言利用指针实现三个数从大到小输出。

C语言代码练习,将三个数按从大到小的顺序输出