Max*_*cky 0 python random list
我的班级最近被引入列表,我们的任务是从所述列表中随机获取一个名称,这是我生成的代码
import random
Random1 = random.randint(0,7)
Class_List = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
print (ClassList[{}].format(Random1))
Run Code Online (Sandbox Code Playgroud)
但是我收到此错误
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
Run Code Online (Sandbox Code Playgroud)
有解决方案吗
Python有一个非常简单的方法: random.choice
import random
class_list = ['Noah','Simone','Ji Ho','Thanh','Nathanial','Soo','Mickel','Tuan','Thuy Linh']
print(random.choice(class_list))
Run Code Online (Sandbox Code Playgroud)
关于为什么你的答案不起作用:
print (ClassList[{}].format(Random1))
Run Code Online (Sandbox Code Playgroud)
.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])
Run Code Online (Sandbox Code Playgroud)