Python 从列表生成时不能调用列表对象
我想从上面的列表中生成8-24个字符。但是,我收到错误消息: TypeError:“列表”对象不可调用 较短的版本:Python 从列表生成时不能调用列表对象,python,python-3.x,random,Python,Python 3.x,Random,我想从上面的列表中生成8-24个字符。但是,我收到错误消息: TypeError:“列表”对象不可调用 较短的版本: import random avchars = ['a','b','c','d','e','f','g'] ra = random.randint(8,24) rb = random.randint(1,7) for i in range(ra): file = open("pass","w") ac = avchars(rb) print(ac) file.w
import random
avchars = ['a','b','c','d','e','f','g']
ra = random.randint(8,24)
rb = random.randint(1,7)
for i in range(ra):
file = open("pass","w")
ac = avchars(rb)
print(ac)
file.write(ac)
file.close()
print("Done")
使用的功能包括:
从非空序列中选择一个随机元素
及
返回[a,b]范围内的随机整数,包括两个端点
列表不是元组或序列。因此,您不能使用:
random.randint(a, b)
而是使用:
avchars(rc)
那么您的代码就不会抛出错误。应该是avchars[rb],而不是avcharsrb。返回indexer的是:列表索引超出范围当然,您希望得到什么?指数从0开始。所以rb=random.randint0,6.谢谢,还有其他方法可以让输出在文件的一行中全部显示出来。这真的不是很感谢你的帮助,因为它工作得很好。顺便说一句,如果它解决了你的问题,你可以给出一个答案。
random.randint(a, b)
avchars(rc)
avchars[rc]