Pythonスクリプト演習(2020/07/13)

Python

リストを使ったスクリプト例です。

ファイル名:list_invader.py

# リストを使ってキャラクタを表示
invader = [
    0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
    0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
    0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
    0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1,
    1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1,
    0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0
    ]

i = 0
for data in invader:
    if data == 1:
        print("■", end="")
    else:
        print(" ", end="")  # 全角空白
    i += 1
    if i % 11 == 0:
        print()

実行イメージ

ファイル名:migi_hidari.py

# リストの左右を歩き回る

meiro = [0, 0, 0, 0, 1, 0, 0, 0, 0, 0]

while True:
    i = 0
    for iti in meiro:
        if iti == 1:
            print("人", end="")
            hitono_iti = i
        else:
            print("_", end="")
        i += 1

    print("どちらに進みますか?(1← : →2)", end="")
    dotti = input()

    if dotti == "1":
        meiro[hitono_iti] = 0
        hitono_iti -= 1
        meiro[hitono_iti] = 1
    elif dotti == "2":
        meiro[hitono_iti] = 0
        hitono_iti += 1
        meiro[hitono_iti] = 1
    else:
        print("1か2で入力してね")
        continue
    print("i={}".format(hitono_iti))

実行イメージ
操作:「」という文字がキーボードから1を入力すると2を入力するとに移動する
ただし、右端までいくとエラーがでます

____人_____どちらに進みますか?(1← : →2)1
i=3
___人______どちらに進みますか?(1← : →2)1
i=2
__人_______どちらに進みますか?(1← : →2)2
i=3
___人______どちらに進みますか?(1← : →2)2
i=4
____人_____どちらに進みますか?(1← : →2)

コメント