liude900324 发表于 2018-11-22 16:22:04

插入排序代码问题

编码小白,想问下为什么这次排序里面2和12明明不满足string_test<string_test条件,还是执行了while里面的代码,被翻转了呢?
****['2', '12', '23', '41', '19', '16', '56', '24', '10', '8']
1
2 12
12 2
['12', '2', '23', '41', '19', '16', '56', '24', '10', '8']

代码如下
string_test=['23','2','41','12','19','16','56','24','10','8']
len_test=len(string_test)
for leng in range(1,len_test):
    if string_test<string_test:
      leng2=leng
      print '-----------------------------------'
      print 'leng is'+str(leng)
      while string_test<string_test and leng2>0:
            print '****'+str(string_test)
            print leng2
            print string_test,string_test
            temp=string_test
            string_test=string_test
            string_test=temp
            print string_test,string_test
            leng2-=1
            print string_test
print string_test

puchonghui 发表于 2018-11-23 08:48:34

你要比较数字大小的话,把单引号都去掉

字符串和数字的大小规则是不同的。。。

顺便说一句:如果做测试的没写过代码,打算学一些简单的算法,建议使用相对严谨的语言来学,不要用python..

liude900324 发表于 2018-11-23 10:14:12

puchonghui 发表于 2018-11-23 08:48
你要比较数字大小的话,把单引号都去掉

字符串和数字的大小规则是不同的。。。


确实是列表输入的有问题,多谢:L

liude900324 发表于 2018-11-23 10:14:19

puchonghui 发表于 2018-11-23 08:48
你要比较数字大小的话,把单引号都去掉

字符串和数字的大小规则是不同的。。。


确实是列表输入的有问题,多谢:L

liude900324 发表于 2018-11-23 10:14:40

puchonghui 发表于 2018-11-23 08:48
你要比较数字大小的话,把单引号都去掉

字符串和数字的大小规则是不同的。。。


确实是列表输入的有问题,多谢:L
页: [1]
查看完整版本: 插入排序代码问题