Python练习题005:三个数字由⼤到⼩排序输出
【Python练习题 005】输⼊三个整数x,y,z,请把这三个数由⼩到⼤输出。
-----------------------------------------------------------------------
python 正则表达式 空格这题想想应该⽐较容易:⽆⾮是先获取3个数字,然后⽐⼤⼩,按顺序输出即可。不过在写代码的过程中遇到了个难题:因为担⼼输⼊时输⼊⾮指定的分隔符,需要指定多个分隔符(英⽂逗号、中⽂逗号、空格),但。
上⽹搜索了下,发现可以,于是就有了这⼀⾏了。代码如下:
import re
x, y, z = re.split(',| |,|  ', input('请输⼊3个数字,⽤逗号或空格隔开:'))
x, y, z = int(x), int(y), int(z)
maxNo = max(x, y, z)
minNo = min(x, y, z)
print(maxNo, x+y+z-maxNo-minNo, minNo)
早就知道正则表达式很强⼤,但因为太难了,⼀直没敢碰啊…… ⽇后⼀定得好好研究下这部分内容!
【2016-10-14 更新】------------------------------------------------------------
坐地铁,⼿机⾥读了篇⽂章,看到了 str.sort() 这个⽅法,觉得可以⽤来解这题。思路是:⽤ re.split() 得到 3 个字符型数字的列表,把字符转换为数字,排下序,然后 print() 不就都解决了吗?代码如下:
import re
lst = re.split(',| |,|  ', input('请输⼊3个数字,⽤逗号或空格隔开:'))
for i in range(len(lst)):
lst[i] = int(lst[i])
lst.sort()
print(lst)
果然简单很多啊~~~
++++++++++++++++++++++++++++++++++++++
题⽬出处: