Python I';我试图打印出5个随机的3个字母的字符串,但每次我尝试时,它都告诉我int类型没有len
我想从这个列表中打印出一组5个随机响应,但每次我尝试时都会收到错误消息,说int类型没有len 我已经尝试了我能想到的一切,但我只是一个学生,不知道我在做什么Python I';我试图打印出5个随机的3个字母的字符串,但每次我尝试时,它都告诉我int类型没有len,python,Python,我想从这个列表中打印出一组5个随机响应,但每次我尝试时都会收到错误消息,说int类型没有len 我已经尝试了我能想到的一切,但我只是一个学生,不知道我在做什么 import random num = random.randrange(1,6) endings = { 1: "ing", 2: "end", 3: "axe", 4: "gex", 5: "
import random
num = random.randrange(1,6)
endings = {
1: "ing",
2: "end",
3: "axe",
4: "gex",
5: "goh",
}
#print (endings.get(num))
stu_num = int(input("how many students will there be? "))
#print(random.choice(endings))
for x in range (stu_num):
print (len(random.choice(endings)))
len(endings)
是5,因为它是一本字典,有很多条目
random。选择(…)
将生成一个介于0和字典长度之间的随机数。然后,它将尝试使用该号码访问字典。如果有结果,您将取回字典中的项
该项目可能是“ing”,因此该项目的长度为3(以及所有其他项目)
但是,请注意,您的字典没有0到4之间的数字,而是1到5之间的数字。这意味着:
0:“abc”
:将值转换为索引从0到4的列表,以便可以拾取所有项目列表(endings.values())
- 您不希望打印学生姓名(3)的长度,而是打印他们的姓名
- 另外,如果你想挑选5个学生,你不想挑选同一个学生两次。这意味着您需要从字典或列表中删除所选的学生
# ...
students = list(endings.values())
for x in range(stu_num):
picked = random.choice(students)
students.remove(picked)
print(picked)
你到底想做什么?我不明白你说的错误,只是不可能,所以这就是你试图运行的完整代码,你能分享完整的错误信息吗?首先,这不是一个列表,而是一本字典。第二,你说你想从你的“列表”中得到5个随机响应,但你打印的是值的长度,这个长度永远是你示例中的3个。