不明白哪一步想错了
l=[1,10,50,100,500]
i=int(input("请输入一个数字:"))
for j in range(len(l)):
if i[j]:
l.insert(j-1,i)
break
else:
l.append(i)
print(l)
下面是输出的结果
请输入一个数字:501
[1, 10, 50, 100, 500]
有两个错误:
1,在某个位置之前插入某个元素,直接使用当前位置的坐标索引即可,不用再减一。举个简单的例子,当j=0的时候,难道你要在-1的位置插入吗?应该改成l.insert(j,i)
2,else语句应该和for语句保持并列,表示当所有的循环都尝试后,再执行else语句。
直接插入然后排序不就行了
l= [1, 10, 50, 100, 500]
i = int(input("请输入一个数字:"))
l.append(i)
l.sort()
print(l)
else要写在for的后面,不要写在if后面啊
否则append会执行5次
你这输出结果和我这运行的不一样啊,你代码没放全吧,中间的for根本没有调用吧