我想创建一个3x3的矩阵,并具有随机条目(在0、1、2、3、4、5(中,用户将要给予(他必须按" Enter"开始,但我的代码不运行。在这里是:
import math
line = ' '.join(map(str, range(4*4))) # Take input from user
'0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15'
items = map(int, line.split()) # convert str to int
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
3 = int(math.sqrt(len(items))) # len(items) should be n**2
4
matrix = [ items[i*3:(i+1)*3] for i in range(3) ]
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]
问题在第6行,3 = int(math.sqrt(len(items))) # len(items) should be n**2
,您试图将SQRT函数的结果分配给文字3。SQRT函数将完成其工作,您可以将其存储在一个可变但不分配给其他数字。如果要比较两者,请使用if语句。而且,如果删除该行,则代码可以正常工作。除非有这样的原因,否则请提及这个原因。