Python错误:TypeError“类型'type'的参数不可迭代

时间:2018-10-18 04:09:17

标签: python random

我正在做一个学校项目,我必须生成一个没有重复的数字列表。我无法使用random.sample()random.shuffle()。我想我的代码找到了解决方法,除了出现错误TypeError "argument of type 'type' not iterable。我无法解决这个问题,因此我需要一些帮助。谢谢您的帮助 这是代码:

import random
lis=[]

for i in range(5):
    rand=random.randint(1,10)
    if rand not in list: lis.append(rand)

print (lis)

3 个答案:

答案 0 :(得分:0)

Manipulate中的拼写错误应该是Manipulate[ {x, yyy}, {{x, a}, {a, b, c, d}, None}, {{yyy, 0.5}, 0, 1, None}, {{type, 1}, Range@3, None}, PaneSelector[{ 1 -> Column[{ Control@{x, {a, b, c, d}, RadioButtonBar}, Control@{{yyy, 0.5}, 0, 1}, Control@{type, Range@3} }], 2 -> Column[{ Control@{x, {a, b, c, d}, SetterBar}, Control@{yyy}, Control@{type, Range@3} }], 3 -> Column[{ Control@{x, {a, b, c, d}, PopupMenu}, Control@{{yyy, 0.5}, 0, 1}, Control@{type, Range@3} }] }, Dynamic@type] ]

这是工作代码:

if rand not in list:

答案 1 :(得分:0)

是错字。将rand not in lis:替换为import random lis=[] for i in range(5): rand=random.randint(1,10) if rand not in lis: lis.append(rand) print (lis)

注释列表-> lis

答案 2 :(得分:0)

if rand not in list: lis.append(rand)更改为if rand not in lis: lis.append(rand)

告诉你为什么?

  • 检查in是否为关键字list(不是可迭代对象)

  • 错别字:-)

所以您必须要检查lis列表。