实现三个数从大到小排序,下面的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代码有什么问题?的主要内容,如果未能解决你的问题,请参考以下文章