2017-03-05 18 views
0

私はこのような直角三角形形の単語を作るしようとしています:右三角形の言葉と数字

入力すると:「コンピュータ学部」

が、私はこの形を描きたい:

F 
a c  
u l t 
y _ o f 
c o m p u 
t e r _ _ _ 

と私のコードは次のとおりです。

word = input("What's your words?") 
counter = 0 
maxLINE = 0 
maxCHAR = 0 

while counter < len(word): 
    for line in range(len(word)): 
     for idx in range(line): 
      maxLINE = maxLINE+1 

     for column in range(line): 
      print(word[counter], end=" ") 
      counter = counter+1 

     maxCHAR = maxCHAR + maxLINE 
     maxLINE = 0 
     print() 

     if (line >=7): 
      break 

そして、私が取得エラーメッセージ:

Traceback (most recent call last):

File "C:/Users/Lenovo/PycharmProjects/Lab03/int.py", line 10, in
print(word[counter], end=" ")

IndexError: string index out of range

私は完璧な直角三角形を任意の文字列入力で作成したいと思いますが、誰かに助言を与えることができますか?

おかげ

+0

印刷カウンタを試してみて、間違っているものを参照してください。 (if文を変更して移動する必要があります)。 – user3080953

答えて

0

は、この(あなたのコードのバリエーションを)試してみてください:

word = 'Faculty of computer' 
line = 0 
start = 0 
end = 0 
suffix = '' 
done = False 
while not done: 
    start = end 
    while word[start] == ' ': 
     start += 1 
    end = start + line + 1 
    if end > len(word): 
     suffix = '_' * (end - len(word)) 
     end = len(word) 
     done = True 
    print(word[start:end].replace(' ', '_') + suffix) 
    line += 1 

出力:

F 
ac 
ult 
y_of 
compu 
ter___