显示0和1的矩阵
使用以下内容编写显示n×n矩阵的函数 头:
def printMatrix(n):
每个元素都是
0
或1
,它是随机生成的。写一个测试 提示用户输入n并显示n
的程序 - { - 1}} 矩阵。这是一个示例运行:n
这是我的想法:
Enter n: 3
010
000
111
答案 0 :(得分:7)
你所拥有的问题是你生成一个值然后重复打印,问题的简化版本就是这个
k = random.randint(0, 1) # decide on k once
for _ in range(n):
print(k) # print k over and over again
这将生成k
,然后将其打印n
次,但您想要的是生成每次打印的新值
for _ in range(n):
k = random.randint(0, 1) # decide on a k each time the loop runs
print(k)
您可以使用嵌套列表理解来生成矩阵本身(此时可能比您想知道的更多,但值得展示)
[[random.randint(0, 1) for _ in range(n)] for _ in range(n)]
内部[random.randint(0, 1) for _ in range(n)]
将为您提供0-1范围内的n
值。嵌套在另一个理解中为你提供n
。
答案 1 :(得分:4)
from random import randint
n = int(input ("Enter an interger number:"))
matrix = (
[str(randint(0, 1)) for _ in range(0, n)] for _ in range(0, n)
)
for row in matrix:
print "".join(row)
FYI。查看有关list comprehension
的文档答案 2 :(得分:-1)
def printMatrix(n):
return n + 0
def main():
n = int(input ("Enter an interger number:"))
matrix = ([str(randint(0, 1)) for _ in range(0, n)] for _ in range(0, n))
for row in matrix:
print(" ".join(row))
main()