0

以下のコードは、レーストラックの1D画像を作成します。

def displayTrack(position):

    output=''#value given to output
    track=[' ']*20# track is initially just a bunch of empty spaces
    track[position]= 'r'#AND track also contains an r icon
    print(' -'*20)#these are the top and bottom borders
    print('0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J')#these represent each individual cell


    for i in range(len(track)):
        output= output +track[i] +'|'#append a "|" before and after each empty space " "
    print (output)#print the result
    print(' -'*20)

このコードを実行すると、画像を表示できるようになります。文字「r」を見ると、文字「r」の右側に「|」があることがわかります。キャラクター。「|」を実装する必要があります ランナーの左側にもあります。多くの変数と画像の初期状態は他の変数などに依存するため、上記と同様の方法を使用する必要があります。

output=''という運命に問題が存在することを私は知っています。代わりに、出力がスペースではないか、文字がまったくない場合、画像は正しく表示されますが、その方法がわかりません。誰かが私に手を貸してくれませんか。ありとあらゆる助けをいただければ幸いです。

不明な点がある場合は、できるだけ早く変更することをお知らせください。

編集:だから私は新しいコードが次のようになるはずだと考えました:3つの変更があります:

1)出力='|' ハイフンと英数字を含む文字列の''2)の代わりに、末尾のスペースが先頭に移動されます。これですべての問題が修正されます。

4

2 に答える 2

1

あなたのコメント#appenda"|" 各空きスペース""の前後は誤解を招く恐れがあります。その前のステートメントは、トラックの一部と「|」を追加することです。キャラクターがスペースであるかどうかは見えず、その前に何も置かれません。スペースの前に|がある唯一の理由は、スペースの後に|がある位置に続くためです。

残りの前に何かを置くには、output='|'から始めます それ以外の ''。その場合も、他の行の前に余分なスペースを置いて、物事を並べておくことができます。例:print('' +'-' * 20)

于 2012-11-23T14:39:21.367 に答える
1

これは、あなたの望むことですか ?元のレイアウトがおかしいので不明です。

def displayTrack(position):

    output='|'#value given to output
    track=[' ']*20# track is initially just a bunch of empty spaces
    track[position]= 'r'#AND track also contains an r icon
    print(' -'*20)#these are the top and bottom borders
    print(' 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J')#these represent each individual cell

    for i in range(len(track)):
        output= output +track[i] +'|'#append a "|" before and after each empty space " "
    print (output)#print the result
    print(' -'*20)
于 2012-11-23T14:45:16.650 に答える