Python错误——TypeError: 'NoneType' object is not iterable
问题描述:
运行代码
from random import randrange, randint, sample
def display(balls):
"""
输出列表中的双色球号码
"""
for index, ball in enumerate(balls):
if index == len(balls) - 1:
print('|', end=' ')
print('%02d' % ball, end=' ')
print()
def random_select():
"""
随机选择一组号码
"""
red_balls = [x for x in range(1, 34)]
selected_balls = []
selected_balls = sample(red_balls, 6)
selected_balls.sort()
selected_balls.append(randint(1, 16))
def main():
n = int(input('机选几注: '))
for _ in range(n):
display(random_select())
if __name__ == '__main__':
main()
时出现该错误。
问题分析:
这又是一个典型的类型错误,其错误显示:‘NoneType’对象不可迭代。
经过查找资料,发现本错误是由 遍历对象为None 导致的。
知道原因后检查代码,会发现第30行所使用的random_select()出现于上一个函数中,且在上一个函数中并未对其进行return,导致其值为‘None’。
所以在第23行代码后增加
return select_balls
问题解决~

浙公网安备 33010602011771号