LoginSignup
1
3

More than 5 years have passed since last update.

Pythonで競プロに挑む日誌 vol.12 ~eval 関数~

Last updated at Posted at 2018-09-17

"可読性" と "コードの長さ" はどちらを優先すべきなのだろうか. 個人的には可読性と思ってる.

現在の目標

  • 今年の10月内に茶色を取得する
    • ABC の A, B 問題を全部解く←イマココ
  • 年内に緑色を取得する
    • ABC の C, D 問題を全部解く
  • APG4b で C++ にも手を出す

今日の問題

ABC017A - プロコン
https://beta.atcoder.jp/contests/abc017/tasks/abc017_1

結果

answer1.py
#coding: utf-8
ans = 0
for _ in range(3):
    s, e = map(int, input().split())
    ans += s * e
print(ans // 10)

# 実行時間:17 ms
# メモリ :2940 KB
# コード長:117 Byte
# 得点  :100/100

#======================================

#coding: utf-8
li = [list(map(int, input().split())) for _ in range(3)]
print(sum(s * e for s, e in li) // 10)

# 実行時間:17 ms
# メモリ :2940 KB
# コード長:114 Byte
# 得点  :100/100

普通に書いたらこんな感じになると思います. ほかの解答を見たら, なるほどな, と思う回答がやはりありました.

answer2.py
#coding: utf-8
print(sum(eval(input().replace(" ", "*")) for _ in range(3)) // 10)

eval 関数を使うと, 引数として与えた文字列が実行されるんですね.

今回学んだこと

明日やること

  • ABC を解き続ける.
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3