Python学習履歴7(ファイル読込、文字操作)

<Q1>
#ファイルを読み込む方法 その1
f = open("input/menu.csv", encoding="utf-8")
contents = f.read()
print(contents)
f.close()

#ファイルを読み込む方法 その2
with open("input/menu.csv", encoding="utf-8") as f:
    contents = f.read()
    print(contents)

#ファイルを読み込む方法 その3(空の行が間に入る)
with open("input/menu.csv, encoding="utf-8") as f:
    for row in f:
        print(row)

#ファイルを読み込む方法 その4(その3の空行を非表示にする)
with open("input/menu.csv", encoding="utf-8") as f:
    for row in f:
        print(row.rstrip())
<Q2>
#sample = 'a,b,c,d,e'
#文字列を区切っている文字(,)を指定して、文字ごとに値を分割しリストを作成するには?
sample_list = sample.split(",")
print(sample_list)
<Q3>
#input/menu.csvに弁当名,金額が表示されている。
#2割引デーに対応するプログラムを作成するには?
with open("input/menu.csv", encoding="utf-8") as f:
    for row in f:
        str_row = row.rstrip().split(",")
        menu = str_row[0]
        price = int(str_row[1])

        discount = int(price * 0.8)
        print(name, discount, "円", sep=")

#上記例に倣って唐揚げ弁当半額デーを作るには?
with open("input/menu.csv", encoding="utf-8") as f:
    for row in f:
        str_row = row.rstrip().split(",")
        menu = str_row[0]
        price = int(str_row[1])

        if "唐揚げ弁当" in menu:
            discount = int(price * 0.5)
            print(name, discount, "円(半額)", sep="")
        else:
            print(name, price, "円", sep="")

#上記例に倣ってうな丼とうな丼100円引きデーを作るには?
with open("input/menu.csv", encoding="utf-8") as f:
    for row in f:
        str_row = row.rstrip().split(",")
        menu = str_row[0]
        price = int(str_row[1])

        if name in ["かつ丼", "うな丼"]:
            discount = price - 100
            print(name, discount, "円", sep="")
        else:
            print(name, price, "円", sep="")
<Q4>
#空の辞書orders = {}がある。
#input/lunch.csvに注文者名,弁当名が表示されている。
#辞書ordersに注文された品と注文量を計上するには?
orders = {}
with open("input/lunch.csv", encoding="utf-8") as f:
    for row in f:
    str_row = row.rstrip().split(",")
    name = str_row[0]
    menu = str_row[1]

    if menu in orders:
        orders[menu] += 1
    else:
        orders[menu] = 1

for key,value in orders.items():
    print(key, value, "個", sep="")



2018年10月頃よりPyQで学習しています。
課題の数が多くオススメです。
まだ5分の2程しか進めていないのですが、コツコツ頑張ってゆきたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA