このコードの目的は、文字列を取得して特定の形式で出力することです。たとえば、次のようになります。
s = "Hello"
プログラムは次のように出力します。
+---+---+---+---+---+
| H | e | l | l | o |
+---+---+---+---+---+
文字列のサイズがコンソールの列のサイズよりも大きい場合、次の形式で文字列を出力することになっています。
+---+---+---+---+---+
| H | e | l | l | o |
+---+---+---+---+---+
| H | e | l | l | o |
+---+---+---+---+---+
| H | e | l | l | o |
+---+---+---+---+---+
| H | e | l | l | o |
+---+---+---+---+---+
残念ながら、2 番目の条件は機能せず、その理由がわかりません。
これが私のコードです:
import os
s = "Hello"*20
(consoleRows,consoleCol)=os.popen('stty size','r').read().split()
top = outer = "+---"*len(s)+'+'+'\n'
for i in range(len(s)):
outer += "| "+s[i]+" "
outer += '|\n'
outer += top[:len(top)-1]
split = outer.split('\n')
if(len(split[0]) > consoleCol): #problem lies on this line. Even though the size of
outer = outer.split('\n') #split[0] is greater than consoleCol the if statement
beg = 0 #isn't entered.
size = consoleCol
print(outer[0][beg:size])
while(size < len(outer[0])):
print(outer[1][beg:size]);
print(outer[2][beg:size]);
beg = size
size += size
else:
print(outer)
誰が私の問題が何であるかを見ることができますか? outer[0] と consoleCol のサイズを出力しました。len(output[0]) が consoleCol より大きい。