用户

时间:2018-02-25 05:30:06

标签: python matrix random user-input

我想创建一个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]]

1 个答案:

答案 0 :(得分:0)

问题出在第6行,3 = int(math.sqrt(len(items))) # len(items) should be n**2,您正在尝试将sqrt函数的结果分配给文字3. sqrt函数将完成其工作,您可以将其存储在变量中但不能分配它与另一个数字如4.如果要比较两者,请使用if语句。如果删除该行,代码就可以正常工作。除非有这条线的理由,否则请说明原因。