Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表生成时不能调用列表对象_Python_Python 3.x_Random - Fatal编程技术网

Python 从列表生成时不能调用列表对象

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

我想从上面的列表中生成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.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]