LoginSignup
3
3

More than 3 years have passed since last update.

価格あたりのカロリーが高い「マクドナルド(マック)」のハンバーガーランキングをpythonで集計してみた

Last updated at Posted at 2019-11-04

この記事も参考にしてください。

目次

マクドナルド(マック)で一番「得」な商品の定義

昼飯にとって最も重要なのは「コスパ」=「値段あたりのカロリー」です。

本当は小麦粉からすいとん等を作るのが一番ですが、外食を余儀なくされる機会も多いと思います。

代表的な良コスパ外食チェーン、「マクドナルド」でコスパの高い商品を調査してみました。

参考

調査方法

  1. マクドナルドの公式サイトから、メニューと価格一覧を取得
wget http://www.mcdonalds.co.jp/menu/burger/ -O - | ¥
grep -e price -e ly-mod-menu-name | ¥
grep -v ly-mod-menu-priceset | ¥
sed -e 's/<[^>]*>//g' | ¥
awk '$1~/¥.*/&&a==1{print $1; a = 0}$1!~/¥.*/{print $1; a =1}' | ¥
paste - -  > price.txt
  1. 同様にカロリーも取得
wget -O - http://www.mcdonalds.co.jp/quality/allergy_Nutrition/nutrient2.php?id=1 | ¥
grep -A3 menu_info | ¥
sed -e 's/<[^>]*>//g' | ¥
awk '{print $1}' | ¥
awk '$0' | ¥
paste - - - - 
awk '{print $1, $3}'> cal.txt
  1. 価格あたりのカロリーを計算
  • 計算結果をソートした
  • markdown できれいに表示できるようにする
price = open('price.txt')
cal = open('cal.txt')
pri = price.read().split()
ca = cal.read().split()
pril = {}
call = {}

for i in range(len(ca)//2):
    call[ca[2*i]] = int(ca[2*i+1])
for i in range(len(pri)//2):
    pril[pri[2*i]] = int(pri[2*i+1].split("¥")[1])
cpp = {}
for i in pril:
    if i in call:
    cpp[i] = [str(call[i]/pril[i])+"円/kcal", str(pril[i])+"円", 
    str(call[i])+"kcal"]  
for i in cpp:
    print("|", i, "|", cpp[i][0], "|", cpp[i][1], "|", cpp[i][2], "|")
price.close()
cal.close()

結果(値段あたりのカロリーランキング)

ソーセージマフィン 3.590909090909091円/kcal 110円 395kcal
チキンクリスプ 3.1363636363636362円/kcal 110円 345kcal
マックグリドル 2.8円/kcal 150円 420kcal
チキンクリスプマフィン 2.6円/kcal 140円 364kcal
倍チキンクリスプ 2.3714285714285714円/kcal 210円 498kcal
ハンバーガー 2.327272727272727円/kcal 110円 256kcal
チーズバーガー 2.192857142857143円/kcal 140円 307kcal
チキチー(チキンチーズバーガー) 2.155円/kcal 200円 431kcal
倍マクポ(倍ベーコンマックポーク) 2.1466666666666665円/kcal 300円 644kcal
マクポ(ベーコンマックポーク) 2.1円/kcal 200円 420kcal
メガマフィン 1.9857142857142858円/kcal 350円 695kcal
倍チキチー(倍チキンチーズバーガー) 1.9466666666666668円/kcal 300円 584kcal
スパチキ(スパイシーチキンバーガー) 1.945円/kcal 200円 389kcal
エグチ(エッグチーズバーガー) 1.935円/kcal 200円 387kcal
ソーセージエッグマフィン 1.9円/kcal 250円 475kcal
倍スパチキ(倍スパイシーチキンバーガー) 1.8066666666666666円/kcal 300円 542kcal
倍ハンバーガー 1.6952380952380952円/kcal 210円 356kcal
倍チーズバーガー 1.6916666666666667円/kcal 240円 406kcal
倍てりやきマックバーガー 1.6545454545454545円/kcal 440円 728kcal
倍てりやきチキンフィレオ 1.6340425531914893円/kcal 470円 768kcal
ビッグブレックファスト 1.63円/kcal 600円 978kcal
倍エグチ(倍エッグチーズバーガー) 1.62円/kcal 300円 486kcal
エッグマックマフィン 1.555円/kcal 200円 311kcal
倍チキンフィレオ 1.541304347826087円/kcal 460円 709kcal
てりやきマフィン 1.5379310344827586円/kcal 290円 446kcal
ベーコンエッグマックサンド 1.495円/kcal 200円 299kcal
倍ダブルチーズバーガー 1.4886363636363635円/kcal 440円 655kcal
親子てりやきマックバーガー 1.4820512820512821円/kcal 390円 578kcal
倍ビッグマック 1.4775510204081632円/kcal 490円 724kcal
ビッグマック 1.3461538461538463円/kcal 390円 525kcal
てりやきチキンフィレオ 1.345945945945946円/kcal 370円 498kcal
ダブルチーズバーガー 1.3441176470588236円/kcal 340円 457kcal
チキンフィレオ 1.2916666666666667円/kcal 360円 465kcal
旨辛てりやきマックバーガー 1.2897435897435898円/kcal 390円 503kcal
倍グラン 1.2142857142857142円/kcal 490円 595kcal
倍えびフィレオ 1.1285714285714286円/kcal 490円 553kcal
グラン 1.1025641025641026円/kcal 390円 430kcal
ホットケーキ 1.0633333333333332円/kcal 300円 319kcal
倍フィレオフィッシュ 1.040909090909091円/kcal 440円 458kcal
ベーコンレタスバーガー 1.038888888888889円/kcal 360円 374kcal
倍ベーコンレタスバーガー 1.0282608695652173円/kcal 460円 473kcal
えびフィレオ 1.0128205128205128円/kcal 390円 395kcal
フィレオフィッシュ 1.0029411764705882円/kcal 340円 341kcal
てりやきマックバーガー 0.956円/kcal 340円 478kcal
  • 円/kcalじゃなくてkcal/円です。書き間違えました
  • てりやきマックバーガーは本当は340円で価格あたりのカロリーは1.4円です。公式サイトでなぜかテリヤキバーガーだけバリューセットの価格が表示されていたためです。

結局、コスパ上位のハンバーガーは?

  • 朝部門
    🥇 ソーセージマフィン
    🥈 マックグリドル
    🥉 チキンクリスプマフィン

  • 昼部門
    🥇 チキンクリスプ
    🥈 ハンバーガー
    🥉 チーズバーガー

という結果になりました。
やはり低価格メニューは低付加価値で、高価格のビッグマックや魚介系バーガーはぼったくりということがよく見て取れます。

まとめ

マクドナルドで価格あたりで最大のカロリーを得るためには・・・

  • 朝にお腹が空いているときは、ソーセージマフィンを食べられるだけ頼みましょう!!

  • 昼間にお腹が空いているときは、チキンクリスプを食べられるだけ頼みましょう!!

3
3
4

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
3
3