列表数据只会绘制列表名称,不会绘制列表中的实际数据
List data will only draw the list names, not the actual data in the list
我希望我的列表数据被读取为它的数据条目,而不是它在数据中的位置。
例如
['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
应该按照它所说的来阅读
但是它读取的数据是
0、1、2、3、4、5。
如何让它说出套房编号。
我已经尝试了很长时间,试图重命名数据以产生不同的东西,但我真的不知道我在这里做什么。
suitenumbers = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
numcards_stack6 = randint(1, 9)
for suitenumbers in range(numcards_stack6):
pencolor('black')
write(suitenumbers, font=("Arial", 20, 'normal', 'bold'))
forward(50)
应该退
一种
2个
3个
4个
5个
6个
7
8
从随机导入的 Randint 只给你一个数字,这就是它可能打印 1 个数字的原因
suitenumbers = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
numcards_stack6 = randint(1, 9)
for suitenumbers in range(len(suitenumbers)-3):
pencolor('black')
write(suitenumbers, font=("Arial", 20, 'normal', 'bold'))
forward(50)
len 获取列表或字符串中值的个数
函数 range(x) 创建一个数字介于 0 和您定义的数字之间的项目:
例子:
如果 numcards_stack6 为 4,则 range(4) 遍历 [0,1,2,3]。所以每当你要打印你在一个范围内迭代的变量时,它总是会打印你所在的迭代次数,所以你需要使用 suitenumbers[iter]
此外,当您使用 for 时,您会在要迭代的对象上迭代一个新变量。您正在做的是重写错误的 suitenumbers 变量。
for iter in range(numcards_stack6):
pencolor('black')
write(suitenumbers[iter], font=("Arial", 20, 'normal', 'bold'))
forward(50)
写的时候
for suitenumbers in range(numcards_stack6):
您覆盖了 suitenumbers
变量,在循环遍历它时将其设置为范围内的数字。您应该将数字分配给另一个变量,例如i
并用它来索引您的 suitenumbers
列表:
for i in range(numcards_stack6):
pencolor('black')
write(suitenumbers[i], font=("Arial", 20, 'normal', 'bold'))
forward(50)
您使用的多种可能的解决方案全都错了。您可以 (1) 像 iterable 代表索引那样循环遍历一个循环,或者 (2) 使用切片表示法来限制整个列表:
第一个解决方案:
for i in range(numcards_stack6): #notice that I changed variable to i from suitenumbers, since you're using suitenumbers as name of list
pencolor('black')
write(suitenumbers[i], font=("Arial", 20, 'normal', 'bold'))
第二种解法:
for number in suitenumbers[:numcards_stack6]:
pencolor('black')
write(number, font=("Arial", 20, 'normal', 'bold'))
我希望我的列表数据被读取为它的数据条目,而不是它在数据中的位置。
例如 ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'] 应该按照它所说的来阅读
但是它读取的数据是 0、1、2、3、4、5。
如何让它说出套房编号。
我已经尝试了很长时间,试图重命名数据以产生不同的东西,但我真的不知道我在这里做什么。
suitenumbers = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
numcards_stack6 = randint(1, 9)
for suitenumbers in range(numcards_stack6):
pencolor('black')
write(suitenumbers, font=("Arial", 20, 'normal', 'bold'))
forward(50)
应该退 一种 2个 3个 4个 5个 6个 7 8
从随机导入的 Randint 只给你一个数字,这就是它可能打印 1 个数字的原因
suitenumbers = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
numcards_stack6 = randint(1, 9)
for suitenumbers in range(len(suitenumbers)-3):
pencolor('black')
write(suitenumbers, font=("Arial", 20, 'normal', 'bold'))
forward(50)
len 获取列表或字符串中值的个数
函数 range(x) 创建一个数字介于 0 和您定义的数字之间的项目:
例子:
如果 numcards_stack6 为 4,则 range(4) 遍历 [0,1,2,3]。所以每当你要打印你在一个范围内迭代的变量时,它总是会打印你所在的迭代次数,所以你需要使用 suitenumbers[iter]
此外,当您使用 for 时,您会在要迭代的对象上迭代一个新变量。您正在做的是重写错误的 suitenumbers 变量。
for iter in range(numcards_stack6):
pencolor('black')
write(suitenumbers[iter], font=("Arial", 20, 'normal', 'bold'))
forward(50)
写的时候
for suitenumbers in range(numcards_stack6):
您覆盖了 suitenumbers
变量,在循环遍历它时将其设置为范围内的数字。您应该将数字分配给另一个变量,例如i
并用它来索引您的 suitenumbers
列表:
for i in range(numcards_stack6):
pencolor('black')
write(suitenumbers[i], font=("Arial", 20, 'normal', 'bold'))
forward(50)
您使用的多种可能的解决方案全都错了。您可以 (1) 像 iterable 代表索引那样循环遍历一个循环,或者 (2) 使用切片表示法来限制整个列表:
第一个解决方案:
for i in range(numcards_stack6): #notice that I changed variable to i from suitenumbers, since you're using suitenumbers as name of list
pencolor('black')
write(suitenumbers[i], font=("Arial", 20, 'normal', 'bold'))
第二种解法:
for number in suitenumbers[:numcards_stack6]:
pencolor('black')
write(number, font=("Arial", 20, 'normal', 'bold'))