lst = []#定义一个空列表
str = input("请输入任意数字,用空格隔开:")
lst1 = str.split(" ") #接收用户输入
i = 0
while i <= len(lst1)+1:
lst.append(int(lst1.pop())) #转字符串转换成整数赋值lst
i += 1
print(lst)
正常输入:1 2 3 4 5 6 7 8 9
应该导出的列表是[9,8,7,6,5,4,3,2,1]
但是交互导出的结果却是[9, 8, 7, 6, 5, 4] 少了 3 2 1
请帮我看看是哪里出了问题了
别忘了结贴啊!你的代码有2个错误:
1,循环次数多了1次(实际上由于错误2,错误1没有体现出来)
2,每循环一次,列表的长度就少1,你还和这个长度比,就错了
if __name__ == "__main__":
lst = []#定义一个空列表
str = input("请输入任意数字,用空格隔开:")
lst1 = str.split(" ") #接收用户输入
i = 0
length = len(lst1)
while i < length:
lst.append(int(lst1.pop())) #转字符串转换成整数赋值lst
i += 1
print(lst)
#因为你每次循条件判断的时候list1的长度一直在减少,你应该
lst = []#定义一个空列表
str = input("请输入任意数字,用空格隔开:")
lst1 = str.split(" ") #接收用户输入
print(lst1)
i = 0
lst1_len = len(lst1)
while i <= lst1_len-1:
print(lst1)
lst.append(int(lst1.pop())) #转字符串转换成整数赋值lst
i += 1
print(lst)