我正在做一个学校项目,我必须生成一个没有重复的数字列表。我无法使用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)
答案 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
列表。