|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
直接打印numbers可以获取长度,放到循环条件里就报错呢?
- numbers = [12,37,5,42,8,3]
- print(len(numbers))
- even = []
- odd = []
- while len(numbers) > 0:
- numbers = numbers.pop()
- if (numbers % 2 == 0):
- even.append(numbers)
- else:
- odd.append(numbers)
- print(even)
- print(odd)
复制代码
6
Traceback (most recent call last):
File "C:/untitled/while 循环.py", line 17, in <module>
while len(numbers) > 0:
TypeError: object of type 'int' has no len()
错误由用于存储弹出元素变量的名字与列表名字冲突造成:
- numbers = [12,37,5,42,8,3]
- print(len(numbers))
- even = []
- odd = []
- while len(numbers) > 0:
- n = numbers . pop() # 存储弹出元素的变量不可以叫 numbers,因为与列表名冲突。
- if (n % 2 == 0):
- even.append(n)
- else:
- odd.append(n)
- print(even)
- print(odd)
复制代码
|
|