我的班级最近被引入列表,我们的任务是从所述列表中随机获取一个名称,这是我生成的代码
import random
Random1 = random.randint(0,7)
Class_List = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
print (ClassList[{}].format(Random1))
但是我收到此错误
Traceback (most recent call last):
File "C:/Users/Mickel/Documents/Python/RPS Tournament/Rock Paper Sissor Tornament.py", line 4, in <module>
print (ClassList[{}].format(Random1))
TypeError: list indices must be integers, not dict
任何解决方案?
答案 0 :(得分:5)
Python有一个非常简单的方法:random.choice
import random
class_list = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
print(random.choice(class_list))
关于你的答案无效的原因:
print (ClassList[{}].format(Random1))
.format
用于将值插入字符串 - 例如"{}".format(5)
。显然这与你正在做的事情有所不同。如果您仍想使用您的方法,请按以下方式进行:
Class_List = ['Noah','Simone','JiHo','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
Random1 = random.randint(0,len(Class_List))
print (ClassList[Random1])
答案 1 :(得分:2)
使用random.choice
。阅读我链接的文档。
答案 2 :(得分:0)
您正在以空字典的形式从列表中打印值,其中应该是索引号。这就是你收到错误的原因。但无论如何你拼错了。它应该是&#34; Class_List&#34;,而不是&#34; ClassList&#34;。
至于你的任务,我个人会这样做
#!/usr/bin/python
import random
Class_List = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
random.shuffle(Class_List)
print (Class_List[0])