2018年9月2日日曜日

【Python3】pythonの教科書(3) ~データ(set/辞書/docstring/グローバル変数)

1、set
重複値を持つことができない
例: colors = { "red", "yellow", "green" }

2、辞書
例:
# 辞書型のデータ(果物名と値段)を変数に代入
fruits = { "バナナ": 300, "オレンジ": 240, "イチゴ": 350, "マンゴー": 400 }
# 辞書型のデータ一覧を表示
for name in fruits.keys():
    # 値段を得る
    price = fruits[name]
    # 画面に出力
    s = "{0}は、{1}円です。".format(name, price)
    print(s)

for name, price in fruits.items():
    s = "{0}は、{1}円です。".format(name, price)
    print(s)

・values()を使うと、値一覧を取得できる
・items()で、キーと値の一覧を取得できる
・sorted(d.keys())で、キー一覧をソート済みのリストで取得できる

【成績計算】
records = { 'Tanaka':72, 'Yamada':65, 'Hirata':100,'Akai':56, 'Fukuda':66, 'Sakai':80 }
# 合計を求める
sum_v = 0
for v in records.values():
    sum_v += v
print("合計点:", sum_v)


3、関数
(1) docstring
  関数の直下に三重引用符(''')の文字列を記述する。説明文をつける機能です。
 help(関数名)で確認できます。

【サンプル(動物での走行時間計算)】
# 動物の最高時速
animal_speed_dict = { "チーター": 110, "トナカイ": 80, "シマウマ": 60,  "ライオン": 58, "キ リ ン": 50,  "ラ ク ダ": 30}
# 東京から各都市までの距離
distance_dict = { "静  岡": 183.7,"名古屋": 350.6, "大  坂": 507.5}
def calc_time(dist, speed):
   ''' 時間を計算する '''
    t = dist / speed
    t = round(t, 1) # 四捨五入
    return t
def calc_animal(animal, speed):
   ''' 動物の各都市までの時間を計測する '''
    res = "|" + animal
    for city in sorted(distance_dict.keys()):
        dist = distance_dict[city]
        t = calc_time(dist, speed)
        res += "|{0:>6}".format(t) # 6文字を右寄せ(0は、format内の1番目の文字列)
    return res + "|"

print("+--------+------+------+------+")
print("|動物名前", end="")  # endは改行しないという意味
for city in sorted(distance_dict.keys()):
    print("|" + city, end="")
print("|")
print("+--------+------+------+------+")

for animal, speed in animal_speed_dict.items():
    s = calc_animal(animal, speed)
    print(s)
print("+--------+------+------+------+")

(2) グローバル変数
関数内でglobal宣言すると、グローバル変数の値変更可能となる
value =100
def changeValue()
  ''' valueをグローバル宣言 '''
  global value
  value =20

changeValue()
print("value=", value)
  →value =20となる(global valueを宣言しないと、100となる)

0 件のコメント:

コメントを投稿