|
自己学习思考问题了,非常好!这个程序有以下的一些需要调整的内容:
1、class bubble:
def __init__(self):这个初始化方法定义了,没有内容是不可以的,需要把这个初始化方法删除或注释
2、 def bubbl(self,li):
b=len(li)
print (b)
for j in range(1,b):
for i in range(0,b-1):
if self.li[i]>li[i+1]:
tem=li[i]
self.li[i]=li[i+1]
self.li[1+1]
print(self.li)
在bubbl方法中,是把li当一个外来的参数传入的,但是内部又使用了self.li这是不可以的。要么都用参数li,要么不要传参数,li在方法体内赋值,可以用self.li.
两个内容不能混用,如下:
def bubbl(self,li):
b=len(li)
print (b)
for j in range(1,b):
for i in range(0,b-1):
if li[i]>li[i+1]:
tem=li[i]
li[i]=li[i+1]
li[1+1]
print(li)
3、main函数调用时,建议最好先设置一个变量列表,然后再传入,这样写法更规范一些
if __name__== '__main__':
s=bubble()
li=[4,3,2]
s.bubbl(li) |
|