尝试使用Python中的循环创建一个m×n矩阵

时间:2016-03-23 00:15:45

标签: python python-3.x

同样,我正在尝试编写一个消耗两个自然数(m和n)和一个字符串的函数,并使用该字符串打印m×n矩阵。例如

my_function(1,5,'hi') => hihih
my_function(2,5,'hi') => hihih
                         ihihi

等等。我必须使用for或while循环来完成此操作。

我没有寻找答案,我希望有人可以帮助我解决问题。 到目前为止,我所能想到的就是让我的字符串足够长,然后使用for循环将字符串分解到所需位置的新行。那是我遇到问题的地方。如何告诉python(使用for循环)在此时在新行上启动我的字符串。

希望有人可以提供帮助。

谢谢!

2 个答案:

答案 0 :(得分:0)

由于你必须使用循环,你会发现 modulo 运算符很有用,这是一个部分工作的解决方案,我会留下剩下的让你弄清楚是什么代替?...

def my_function(n, m, s):
    ln = ?
    for i in range(n):
        print("".join([s[(j+?) % ln] for ...]))

模数正在做什么的线索:

In [98]: l = [1,2,3]

In [99]: l[4 % 3]
Out[99]: 2

一旦正确使用打印,您也可以在不加入的情况下执行此操作:

def my_function(n, m, s):
    ln = ?
    for i in range(n):
        for ...:
            print(s[(j + ?) % ln], end=?)
        # print ?

有更好的方法可以做你想做的事,但我认为这是一个学习练习。

答案 1 :(得分:-1)

您不一定需要循环。 也许这样的事情可以帮助你入门:  x=('hi'*5)[:5]

编辑:道歉没有意识到你使用循环。无视。