Pythonで単語を垂直に印刷する
文字列sがあるとします。すべての単語を、sに表示されるのと同じ順序で垂直方向に検索する必要があります。ここでは、単語が文字列のリストとして返されます。必要に応じてスペースを入力する必要があります。 (トレーリングスペースは許可されていません)。各単語は1つの列にのみ配置され、1つの列には1つの単語のみが配置されます。したがって、入力文字列が「HOW ARE YOU」の場合、出力は["HAY"、 "ORO"、 "WEU"]
になります。これを解決するには、次の手順に従います-
-
s:=スペースで分割された文字列のリストを作成し、1つの空の配列xを作成し、行を0に設定します
-
sの各単語Iについて、行を設定します:=行の最大値とiの長さ
-
col:=sの長さ
-
1つの配列を作成し、空の文字列で埋めます。そのサイズは行です
-
0からcol–1の範囲のIの場合
-
j:=0
-
一方、j
の長さ-
i – ans [j]> =1の長さである間、ans [j]:=ans[j]は「」を連結します
-
ans [j]:=ans[j]連結s[i、j]
-
jを1増やします
-
-
-
ansを返す
例(Python)
理解を深めるために、次の実装を見てみましょう-
class Solution(object): def printVertically(self, s): s = s.split(" ") x = [] row = 0 for i in s: row = max(row, len(i)) col = len(s) ans = ["" for i in range(row)] j = 0 for i in range(col): j = 0 while j < len(s[i]): #print(j, i) while i - len(ans[j]) >= 1: ans[j] += " " ans[j] += s[i][j] j += 1 return ans ob = Solution() print(ob.printVertically("HOW ARE YOU")) print(ob.printVertically("TO BE OR NOT TO BE"))
入力
"HOW ARE YOU" "TO BE OR NOT TO BE"
出力
["HAY","ORO","WEU"] ["TBONTB","OEROOE"," T"]
-
Pythonでパターンを印刷する方法は?
Pythonのパターンは、ネストされたforループを使用して印刷できます。外側のループは行数を反復処理するために使用され、内側のループは列数を処理するために使用されます。印刷ステートメントは、要件に応じてさまざまなパターンを形成するように変更されます。 パターンには、星型、数字型、アルファベット型があります。パターンは、さまざまな形、三角形、ピラミッドなどにすることができます。 例 これらのパターンはすべて、これらの異なるパターンを形成する変更されたprintステートメントを含むforループを使用して印刷できます。 これらのパターンの印刷の基本的な考え方は同じですが、わずかな違いが
-
文字列に偶数の長さの単語を出力するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列を指定すると、文字列内のすべての単語を均等な長さで表示する必要があります。 アプローチ split()関数を使用して入力文字列を分割します。 forを使用して文字列の単語を繰り返し処理します ループ& len()を使用して単語の長さを計算します 機能。 長さが均等であると評価されると、単語が画面に表示されます。 それ以外の場合、画面に単語は表示されません。 次に、以下の実装を見てみましょう- 例 def printWords(s): # split