Python 如何为特定矩阵编写代码?
我的程序的输入是一个整数,表示矩阵的大小(例如,5) 然后,输出将是一个5x5矩阵,其中每行从Python 如何为特定矩阵编写代码?,python,Python,我的程序的输入是一个整数,表示矩阵的大小(例如,5) 然后,输出将是一个5x5矩阵,其中每行从1开始递增,右边的每个项目比左边的多一个: 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 我如何在Python中做到这一点呢?一个非常简单的代码,不是最好的,但适用于您想要的简单代码 x = int(input()) matrix = "" for i in range(1, x+1): for j in range (
1
开始递增,右边的每个项目比左边的多一个:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
我如何在Python中做到这一点呢?一个非常简单的代码,不是最好的,但适用于您想要的简单代码
x = int(input())
matrix = ""
for i in range(1, x+1):
for j in range (i, x+i):
matrix += f"{j} "
matrix += "\n"
print(matrix)
试试这个
a=[]
for i in range(0,5):
for j in range(1,6):
a.append(i+j);
print(a)
a=[]
以下是python的方法:
sz = int(input("Size? "))
print("\n".join([" ".join([str(base + delta + 1) for delta in range(sz)]) for base in range(sz)]))
样本运行包括(对于4
和5
的输入):
当然,我不会把它作为课堂作业交上来,除非你能解释它是如何工作的:-)
就其工作方式而言,它使用列表理解(嵌套)从每个项目中形成每个单独的行,并从行中形成整个矩阵。它还使用string.join()
将这些列表转换为带有特定分隔符的字符串
表达方式:
[str(base + delta + 1) for delta in range(sz)]
是一个列表理解,它给出了由base
、delta
和1
之和构成的整数创建的字符串列表,其中delta
的范围从0
到sz-1
包含(base
来自下面的外部理解)
这是我们传递给“”.join()的内在理解,它将列表中的所有元素连接成一个字符串,其中每个元素用空格分隔
外部理解:
[<joined-inner>) for base in range(sz)]
工作代码:
string=“”
对于范围(1,6)内的i:
对于范围(i,i+5)内的j:
string=string+str(j)+“
打印(字符串)
string=“”
你试过写代码吗?是的,我试过了,我得到了一行输出,我不知道下一行如何打印,但现在已经清楚了☺我理解非python的方式,但我不理解你的python方式,你能解释一下吗
[<joined-inner>) for base in range(sz)]
sz = int(input("Size? "))
for base in range(sz):
for delta in range(sz):
print(base + delta + 1, end=" ")
print()