输入三个整数x,y,z,请把这三个数由小到大输出。这道题可谓是经典,学习其他语言时都遇到过,一上来我也是照着C、C++的思维用循环一个一个比较,后来看了网上的案例发现原来Python自带sort和sorted函数,能够将list以升序降序输出,代码精简的很多。
方法一:个人方法,利用循环判断x,y,z的大小。
代码如下:
x=input(‘x=\n’)
y=input(‘y=\n’)
z=input(‘z=\n’)
if(x>y):
if(y>z):
print “min=”,z
else:
print ‘min=’,y
else:
if(x>z):
print ‘min=’,z
else:
print ‘min=’,x
感觉就是换了层皮的C++代码。毫无一点Python特色。
方法二:利用sort和sorted函数。sort函数是将list里的数据按照顺序排列,sorted函数是将原来list排序后复制给一个新的list,而不改变原来list的值。
代码如下:
l=[]
for i in range(3):
x=int(raw_input(‘integer:\n’))
l.append(x)
x=l[:]
y=sorted(l)
l.sort()
print l
print x
print y
代码不仅精炼了许多,而且运行时间也缩短了。