同样,我正在尝试编写一个消耗两个自然数(m和n)和一个字符串的函数,并使用该字符串打印m×n矩阵。例如
my_function(1,5,'hi') => hihih
my_function(2,5,'hi') => hihih
ihihi
等等。我必须使用for或while循环来完成此操作。
我没有寻找答案,我希望有人可以帮助我解决问题。 到目前为止,我所能想到的就是让我的字符串足够长,然后使用for循环将字符串分解到所需位置的新行。那是我遇到问题的地方。如何告诉python(使用for循环)在此时在新行上启动我的字符串。
希望有人可以提供帮助。
谢谢!
答案 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]
编辑:道歉没有意识到你有使用循环。无视。