求助,list.sort()方法的问题
如标题在交互界面list.sort()方法和min(list)是可以验证的
但是我写的代码如下:
list1=
print('您输入的数字是:',list1)
list1.sort()
print('升序:',list1)
print('最小的数是:',min(list1))
运行结果确是这样的:
请输入5个数字,用逗号隔开
2,-3,5,9,2
您输入的数字是: ['2,-3,5,9,2']
升序: ['2,-3,5,9,2']
最小的数是: 2,-3,5,9,2
没有排序,也没有把最小的找出来~ 用代码格式发一遍
list1=
print('您输入的数字是:',list1)
list1.sort()
print('升序:',list1)
print('最小的数是:',min(list1))
input返回了字符串
而你的列表只有一项
可以这样list1 = input(提示语).split(', ')
split可以分解字符串,将它分开成列表 歌者文明清理员 发表于 2023-2-15 20:23
用代码格式发一遍
input返回了字符串
更改后的代码如下
list1=input("请输入5个数字,用逗号隔开\n").split(',')
print('您输入的数字是:',list1)
list1.sort()
print('升序:',(list1))
print('最小的数是:',min(list1))
运行后的结果如下:
请输入5个数字,用逗号隔开
3,-2,5,9,2
您输入的数字是: ['3', '-2', '5', '9', '2']
升序: ['-2', '2', '3', '5', '9']
最小的数是: -2
十分感谢,一针见血的找到了问题
转行做码农 发表于 2023-2-15 20:33
更改后的代码如下
list1=input("请输入5个数字,用逗号隔开\n").split(',')
print('您输入的数字是:', ...
哎不对,每一项是字符串
for i, value in enumerate(data):
data = int(value)
改成整数
当然如果报错把int改成float 歌者文明清理员 发表于 2023-2-15 20:35
哎不对,每一项是字符串
改成整数
你的意思是str.splitf()方法是字符串方法,只是将一个字符串切成了5段,然后对比,如果不转换成int型的话,输入一个汉字不会报错,排序也会按照字符串来排序。
比如
请输入5个数字,用逗号隔开
2,-2,五,1,9
您输入的数字是: ['2', '-2', '五', '1', '9']
升序: ['-2', '1', '2', '9', '五']
最小的数是: -2
最大的数是: 五
所以需要把字符串转换成整型
页:
[1]