2016-03-23 18 views
1

この場合も、2つの自然数(mとn)と文字列を消費し、文字列を使ってm行n列の行列を出力します。例:Pythonでループを使用してm行n列の行列を作成しようとしています

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

などです。 forループとwhileループのどちらかを使ってこれを行う必要があります。

私は答えを探していない、私は誰かが私を理解するのを助けることを望んでいる。 これまで考えていたことは、文字列の長さを十分に長くしてから、forループを使って文字列を必要な箇所で改行することでした。それが私の問題に遭遇するところです。どのように私はPython(forループを使用して)その時点で新しい行に私の文字列を開始するように指示するのですか?

誰かが助けてくれることを願っています。

ありがとうございます!

答えて

-1

ループは必ずしも必要ではありません。 は、おそらくこのような何かを得ることができます、あなたが開始: x=('hi'*5)[:5]

編集:謝罪はあなたは、ループを使用するがあったことを認識していませんでした。無視。

0

あなたがループを使用する必要がので、あなたは剰余オペレータが便利でしょうあなたは?...の代わりに何が起こるのかを把握するために、これは部分的にワーキングソリューションですが、私は残りの部分を残します

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): 
     print("".join([s[(j+?) % ln] for ...])) 

手掛かりe正しく印刷してください:

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

あなたが望むことを行うにはより良い方法がありますが、これは学習練習であると推測します。

+1

ええ、彼らは私たちが問題についてある方法で考えることを望んでいると思います。そのかなり迷惑な、彼らは私たちに1つのモジュールで再帰を教えてくれるでしょうし、次のモジュールはあなたがループを使いますが、再帰は必要ないようです。あなたの助けをありがとう、私はあなたが私に与えたものに取り組んでいます – Brandon

関連する問題