为什么randint不是在矩阵中工作,而是在其他地方工作?(Python)

2024-09-29 19:25:56 发布

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

我用Python制作了一个座位表,显示每个座位的缺勤情况。为了列出示例缺勤的列表,我决定使用randint生成一个0-15之间的随机值,但是当我在矩阵中尝试时,它不起作用。不过,在矩阵外使用的同一行和刚刚打印的行效果很好。。我该怎么解决这个问题?你知道吗

这是我的密码:

import random

student0Abs_EX = random.randint(0,15)
student1Abs_EX = random.randint(0,15)
student2Abs_EX = random.randint(0,15)
student3Abs_EX = random.randint(0,15)
student4Abs_EX = random.randint(0,15)
student5Abs_EX = random.randint(0,15)
student6Abs_EX = random.randint(0,15)
student7Abs_EX = random.randint(0,15)
student8Abs_EX = random.randint(0,15)
student9Abs_EX = random.randint(0,15)

print("\n\nExample Absences: \n")
matrix = [[student0Abs_EX + '\t\t', student1Abs_EX + '\t\t', student2Abs_EX + '\t\t'], [student3Abs_EX + '\t\t', student4Abs_EX + '\t\t', student5Abs_EX + '\t\t'], [student6Abs_EX + '\t\t', 'Empty' + '\t\t', student7Abs_EX + '\t\t'], ['Empty' + '\t\t', student8Abs_EX+ '\t\t', student9Abs_EX + '\t\t']]
for row in matrix:
    print ' '.join(row)

提前感谢您的帮助!你知道吗


Tags: 矩阵randomexrandint缺勤student2absstudent5absstudent4abs
2条回答

random.randint函数没有问题。问题是,当您执行以下操作之一时,您试图将intstr添加到一起:student0Abs_EX + '\t\t'。你知道吗

一种修复方法是将所有这些更改为str(student0Abs_EX) + '\t\t'

str函数将int转换为相应的字符串。你知道吗

因为不能将intstr连接起来。你知道吗

Type "help", "copyright", "credits" or "license" for more information.
>>> 1 +'2'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

似乎你只需要一个随机矩阵的文本表示。尝试其他方法来创建,而不是[student0Abs_EX + '\t\t', student1Abs_EX + '\t\t', student2Abs_EX + '\t\t'], ...

相关问题 更多 >

    热门问题