2016-10-19 10 views
1

私は、ユーザーの姓と名を収集するコードを作成しようとしています(入力順は、最後の最初である)、それはカスケードのように、最初の最後印刷します"カスケード"文字でユーザー入力を印刷しますか?

J 
    o 
     h 
     n 
    S 
    m 
     i 
     t 
      h 

私は本当に近いんだけど、私私のコードの仕方が気に入らない。私はもっ​​と簡単な方法があると思うし、私が得た問題にもぶつかっています IndexError:文字列インデックスが範囲内に入っていない場合、

last = raw_input('enter your last name:') 
first= raw_input('enter your first name:') 
print(first[0]) 
print('\t' + first[1]) 
print('\t'*2 + first[2]) 
print('\t'*3+first[3]) 
print('\t'*4+first[4]) 
print('\t'*5+first[5]) 
print('\t'*6+first[6]) 
print(last[0]) 
print('\t' + last[1]) 
print('\t'*2 + last[2]) 
print('\t'*3+last[3]) 
print('\t'*4+last[4]) 
print('\t'*5+last[5]) 

答えて

1

あなたは以下のような、一般的な関数を記述し、あなたの文字列を再利用することができます。

は、ここに私のコードです。

def cascade_name(name): 
    for i, c in enumerate(name): 
     print '\t'*(i+1), c 

出力:あなたはどうしたらあなたの場合

>>> cascade_name("foo") 
    f 
     o 
      o 

last = raw_input('enter your last name:') 
first= raw_input('enter your first name:') 
cascade_name(last) 
cascade_name(first) 
関連する問題