列表数据将只绘制列表名称,而不是lis中的实际数据

2024-10-01 07:23:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望我的列表数据被读取为它的数据条目,而不是它在数据中的位置

例如 [“A”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“10”,“J”,“Q”,“K”] 应该照上面说的读

但它读取的数据 0,1,2,3,4,5

我要怎么说呢?换成suitenumbers

我玩了一段时间,试图重命名数据,以产生不同的东西,但我真的不知道我在这里做什么

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)

它应该后退 A 2 三 4 5 6 7 8个


Tags: 数据in列表for条目rangewrite重命名
3条回答

函数范围(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)

从random导入的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获取列表或字符串中的值的数目

相关问题 更多 >