python为输入的数字排序并输出的方法及实例

python为输入的数字排序之前的工作

在利用python为输入的数字排序之前,应该要先弄清楚两个问题,如下:

  • 首先弄清楚python如何一次性输入多个数字;
  • 其次python抓取的从键盘输入的数字之后返回的是一个什么数据类型的值;

问题的答案,如下实例:

>>> a = input("输入多个数字,以英文逗号隔开:").split(",")
输入多个数字,以英文逗号隔开:1,3,6,5,9,8
>>> type(a)
<class 'list'>
>>> type(a[0])
<class 'str'>

代码解析

如上代码,python通过input()来获取键盘上的输入,并用split()函数将其切分,最终返回一个列表,并赋值给变量a,从索引获取列表的第一个元素a[0]并检验其数据类型可知,列表中的元素是字符串类型的数据。


python为输入的数字排序并输出的方法及实例

接下来,要将这些输入的数字进行排序,可以使用list列表的类方法sort()来完成,注意其中的参数。输出的话,如果是输出字符串类型的数据,可直接输出,如果是数值类型的数据,则需要对其进行相应的转换,如下实例代码(承接上面的实例):

>>> a.sort(key=int)
>>> a
['1', '3', '5', '6', '8', '9']
>>> for i in a:
...     print(int(i))
... 
1
3
5
6
8
9
>>> a.sort(key=int,reverse=True)
>>> a
['9', '8', '6', '5', '3', '1']
>>> for i in a:
...     print(float(i))
... 
9.0
8.0
6.0
5.0
3.0
1.0

代码解析

如上代码,实例通过sort()类方法,对输入的列表进行排序,其中key参数设置为int,指的是按字符串元素的数值类型的大小进行正序从小到大的排序,reverse=True,表示按倒序排序,因为排序后的列表元素还是字符串类型,所以按数值类型输出之时,需要对其进行转换,一般情况下,可以用浮点型float()来转换,因为int()的话会将原本浮点型的数据后面的小数点省略掉。



笨鸟问答 / python问答 :





Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.