Ich liebe McDonald's. Aber Junk Food, schlecht für Ihre Gesundheit, Ich sehe mehr solche Geschichten als zuvor.
Also, wenn Sie wirklich weiter McDonald essen, Ist es schlecht für Ihre Gesundheit? Wenn Sie wirklich alleine mit McDonald leben, Wird es Mangelernährung oder Kalorienüberschuss geben?
Dieser Artikel ist nur für McDonald ** Eine Diät, die alle Nährstoffe liefert, die Sie für den Tag benötigen ** Welche Art von Menü sollten Sie wählen, wenn Sie dies tun? Welche Ernährungsprobleme treten dadurch auf? Verwenden der linearen Planungsbibliothek von Python namens PuLP Dies ist eine Zusammenfassung der Forschungsergebnisse.
Das heißt, ** McDonald allein ** ** Wie man ein Menü als komplette Ernährungsdiät zusammenstellt ** ** Was und wie viel soll ich essen? ** ** ** ** Und wie viele Kalorien wird es zu diesem Zeitpunkt sein? ** **. Ungefähr 0,001% der Menschen auf der Welt wundern sich einmal Geben Sie eine Lösung für ein Problem, an das Sie gedacht haben.
Auch als repräsentativer Spieler von Nahrungsmitteln, ** Fünfeckige Form mit Milchnährstoffen ** Berühmt für sein Cornflakes (ich liebe das auch) Ich werde auch eine Überlegung hinzufügen, wenn ich es dem Menü hinzufüge.
"Sie können nur McDonald auf eine unbewohnte Insel bringen." Ich bin überzeugt, dass es eine sehr nützliche Studie ist, wenn man es erzählt.
Zunächst einmal McDonald's-Menüs Für Ernährungsinformationen, Es wird auf der folgenden offiziellen Website veröffentlicht.
https://www.mcdonalds.co.jp/products/nutrition_balance_check/
Wählen Sie ein Menü auf dieser Site Ihr Geschlecht, Alter und körperliche Aktivität Durch Eingabe für die Nährstoffe, die für den Tag benötigt werden Wie viel triffst du? Es ist möglich zu bestätigen.
In dieser Studie also ** Während 100% aller Nährstoffe für einen Tag befriedigt werden ** ** Stellen Sie den Salzgehalt so ein, dass er unter dem Standardwert liegt. ** ** Und reduzieren Sie die Kalorien so weit wie möglich ** Wir werden die optimale Lösung für die Menüauswahl anstreben.
Obwohl es auf den ersten Blick ein schwieriges Problem zu sein scheint, Es ist eigentlich ein einfaches ** lineares Planungsproblem **, Mit der PuLP-Bibliothek von Python kann es auf einmal gelöst werden.
Der wichtigste Punkt ist, dass es viele Daten und Variablen gibt. Es ist super ärgerlich, das Problem in Code zu bringen. Eine Variable namens "teriyaki-ba-ga" Wenn Sie viele Ausdrücke wie "VitaminC> 100" geschrieben haben Sogar in meinen Träumen Es besteht kein Zweifel, dass es gefüllt wird. Auch zum Hinzufügen von Menüs wie Moon Viewing Burger Es wird schwierig zu antworten.
Beachten Sie vor diesem Hintergrund die Recherche mit dem folgenden Setup.
① Was ist das lineare Planungsproblem? ② Bestätigen Sie die grundlegende Verwendung von PuLP ③ Erhalten Sie Daten von der offiziellen McDonald's-Website und Verarbeitung mit Python zulassen ④ Nährstoffe für einen Tag erforderlich = Als komplettes Ernährungsproblem Implementieren Sie den Code. (Machen Sie es gut und universell) ⑤ Spielen Sie, während Sie die Ergebnisse beobachten, während Sie einige Bedingungen ändern ⑥ Spielen Sie mit einem Limit von einmal pro Menü ⑦ Cornflakes zum Menü hinzufügen und weiter spielen
- | Kalorie | Ernährung 1 | Ernährung 2 | Ernährung 3 |
---|---|---|---|---|
Teriyaki | 20 | 25 | 10 | 15 |
Kartoffel | 12 | 11 | 10 | 18 |
Cola | 15 | 13 | 16 | 25 |
Erforderliche Ernährung | ★ Hier minimieren | 300 | 200 | 100 |
■ Problem: Wenn Sie eine Ernährungstabelle wie die oben genannte haben Bei ausreichender Nährstoffmenge 1-3 Wie Kalorien zu minimieren Wie bestelle ich Teriyaki, Kartoffeln und Cola?
⇒Antwort: Teriyaki x8, Kartoffel x1, Cola x7 Mit 298 Kalorien
Auf diese Weise entsteht das Problem, die optimale Lösung für etwas zu finden Zielfunktion (Kalorien) und Einschränkungen (Nährstoffe, die erfüllt werden müssen) In einer linearen (eindimensionalen Polypolyse ohne Quadrat) Ungleichung Das Problem, das ausgedrückt werden kann, wird als ** lineares Planungsproblem ** bezeichnet.
Python hat eine Bibliothek namens PuLP. Beschreiben Sie dieses Problem einfach im Code Die optimale Lösung finden Sie auf einen Schlag.
Mal sehen, wie man PuLP benutzt. Der gesamte folgende Code wird auch in Colaboratory ausgeführt.
So installieren Sie PuLP
Installieren Sie PuLP
pip install pulp
Unten finden Sie den Code zum Lösen des vorherigen Beispiels. Lassen Sie uns die grundlegendste Verwendung sehen.
Die grundlegendste Verwendung von PuLP
import pulp
# !pip install pulp
#Referenz 1: https://www.y-shinno.com/pulp-intro/
#Problem Definition
#Geben Sie entweder Minimieren oder Maximieren an
problem = pulp.LpProblem(name="Mac", sense=pulp.LpMinimize)
#problem = pulp.LpProblem(name="Mac", sense=pulp.LpMaximize)
#Definition von Variablen (* Variablen können für Python auf Japanisch angegeben werden)
#Es wird als Ganzzahl größer oder gleich 0 definiert, um die Anzahl der Objekte auszudrücken.
Teriyaki= pulp.LpVariable(name = "Teriyaki", lowBound = 0, cat="Integer")
Kartoffel= pulp.LpVariable(name = "Kartoffel", lowBound = 0, cat="Integer")
Cola= pulp.LpVariable(name = "Cola", lowBound = 0, cat="Integer")
#Zielfunktion (Funktion, die minimiert oder maximiert werden sollte)
problem += 20 *Teriyaki+ 12 *Kartoffel+ 15 *Cola
#Definition von Einschränkungen
#Stellen Sie zum Schreiben sicher, dass Sie die gleiche Anzahl eingeben<=.==,>=Schreiben Sie so!
problem += 25 *Teriyaki+ 11 *Kartoffel+ 13 *Cola>= 300
problem += 10 *Teriyaki+ 10 *Kartoffel+ 16 *Cola>= 200
problem += 15 *Teriyaki+ 18 *Kartoffel+ 25 *Cola>= 100
#Das Problem lösen
status = problem.solve()
print(pulp.LpStatus[status])
#Alle Arten von Status sind wie folgt.
#"Optimal" bedeutet, dass die optimale Lösung erhalten wurde.
# {-3: 'Undefined',
# -2: 'Unbounded',
# -1: 'Infeasible',
# 0: 'Not Solved',
# 1: 'Optimal'}
#Ergebnisanzeige
print("Result")
print("Teriyaki:", Teriyaki.value())
print("Kartoffel:", Kartoffel.value())
print("Cola:", Cola.value())
Ausgabeergebnis
Optimal
Result
Teriyaki: 8.0
Kartoffel: 1.0
Cola: 7.0
Der erste Punkt des Einfallsreichtums ist ** Der Punkt, an dem der Variablenname "Japanisch" ist **. ** In Python3 können andere Variablennamen als ASCII-Code verwendet werden **, Indem Sie es von Anfang an auf Japanisch halten, Der Produktname des McDonald's-Menüs Es kann so wie es ist als Variablenname behandelt werden. Im Gegenteil, wenn Sie dies nicht tun, wird das Teriyaki "Teriyaki" sein ... Geben Sie allen Menüs wie englische Namen Außerdem müssen Sie das Mapping verwalten. An diesem Punkt geht die Sonne unter.
Wenn Sie jedoch nur die Variablen in Japanisch ändern, können Sie die Formel für jeden Nährstoff formulieren.
Es ist immer noch äußerst schwierig, alles einzugeben.
Alles, wenn andere Menüs hinzugefügt werden usw.
Problem + = 10 * Teriyaki + 10 * Kartoffel + 16 * Cola> = 200
Es wird auch ** gefährlich sein, die Formel von ** zu aktualisieren (unzureichender Wortschatz)
Daher wie folgt Ermöglichen Sie die Verarbeitung von Menünamen und Nährstoffwerten in einem Listenformat. Der Code ist ganz anders, aber die Ergebnisse und Bedeutungen sind genau gleich. ** Es gibt kein Problem, auch wenn es die Mond-Burger-Saison ist **.
Eine kleine allgemeine Art, PuLP zu schreiben
import pulp
# !pip install pulp
#Referenz 2: http://www.nct9.ne.jp/m_hiroi/light/pulp01.html
#Problem Definition(
#Geben Sie entweder Minimieren oder Maximieren an
problem = pulp.LpProblem(name="Mac", sense=pulp.LpMinimize)
#problem = pulp.LpProblem(name="Mac", sense=pulp.LpMaximize)
#Datendefinition
target_menu_list =["Teriyaki","Kartoffel","Cola"]
kcal =[20,12,15]
eiyou1 =[25,11,13]
eiyou2 =[10,10,16]
eiyou3 =[15,18,25]
#Variablendefinition
#Schreiben Sie die Definition der Variablen in die Listeneinschlussnotation und definieren Sie den Variablennamen dynamisch als Daten in der Liste.
xs = [pulp.LpVariable('{}'.format(x), cat='Integer', lowBound=0) for x in target_menu_list]
#Schreiben Sie objektive Funktionen und Einschränkungen in den Matrixmultiplikationstyp
#Zielfunktion (Funktion, die minimiert oder maximiert werden sollte)
problem += pulp.lpDot(kcal, xs)
#Definition von Einschränkungen
problem += pulp.lpDot(eiyou1, xs) >= 300
problem += pulp.lpDot(eiyou2, xs) >= 200
problem += pulp.lpDot(eiyou3, xs) >= 100
#Das Problem lösen
status = problem.solve()
print(pulp.LpStatus[status])
#Ergebnisanzeige
print("Result")
print("Teriyaki:", Teriyaki.value())
print("Kartoffel:", Kartoffel.value())
print("Cola:", Cola.value())
Der Punkt ist, dass die Formel durch ** Matrixmultiplikationstyp ** und definiert ist ** Punkte, die dynamisch ** Variablennamen wie Teriyaki benennen.
Mit anderen Worten
target_menu_list = [" Teriyaki "," Potato "," Cola "]
⇒
target_menu_list = [" Teriyaki "," Kartoffel "," Cola "," Tsukimi Burger "]
Wenn Sie die Liste der Menünamen wie aktualisieren
Wird als Variablenname anstelle von "{}" verwendet. Format (x) ",
Der Grund ist, dass eine Variable namens "Tsukimi Burger" dynamisch generiert wird.
Wenn Sie diese Dinge nicht tun Es ist kein Problem, mit ein paar Datenzeilen zu spielen. Es kann nicht Hunderte von Zeilen mit tatsächlichen McDonald's-Daten verarbeiten.
Obwohl es eine Bibliothek namens PuLP gibt ** Untersuchung der vollständigen Ernährung McDonald's Diät, die der Traum der ganzen Menschheit war ** Der Grund, warum es bisher nicht gemacht wurde, ist ** Wenn Sie es normal machen, wird der Code gefährlich sein **, Muss der Grund sein. Muss so sein (Betonung durch iterative Methode)
Von der oben erwähnten offiziellen McDonald's-Website Sie können die Liste der Nährwerte für alle aktuellen Menüs sehen. Es gibt vier Arten: Burger, Beilage, Getränk und Barista. Keine Notwendigkeit zu kratzen Einfach 4 Mal kopieren und einfügen und im CSV-Format speichern.
Die gespeicherten CSV-Daten sind wie folgt codiert. Es kann im Wörterbuchformat mit Python gelesen werden.
McDonald's Daten lesen
import csv
McDonaldsDict = {}
with open('/content/drive/My Drive/MACD/McDonald's Nährwertliste 2021009_R.csv') as f:
reader = csv.DictReader(f)
# OrderedDict([('Produktname', 'Filet 'o Shrimp'), ('Gewicht g', '174'),... ist in jeder Zeile enthalten
#* Für Säfte usw. beträgt der Nährwert "-Wurde durch 0 ersetzt
for row in reader:
# 'Filet 'o Shrimp' : OrderedDict([('Produktname', 'Filet 'o Shrimp'), ('Gewicht g', '174')In ein Wörterbuchformat verarbeitet
McDonaldsDict[row["Produktname"]] = row
Wählen Sie später nur das Zielprodukt aus und nehmen Sie es heraus. Um es leichter zu sagen Verwenden Sie den "Produktnamen" als Schlüssel im Wörterbuchformat. (* Doppelwörterbuch, in dem das Wörterbuchformat ein weiterer Wörterbuchtyp ist)
Auch in Bezug auf die Nährstoffe für einen Tag benötigt Lassen Sie uns auf die Daten verweisen und wie folgt definieren. Das Ziel ist ~~ Freizeitleute, die an einer vollständigen Ernährung interessiert sein könnten McDonald's Essen ~~ Ich habe versucht, die erwartete Leserschaft dieser Forschung zu erreichen.
Notwendige Nährstoffe (Beispiel)
#Männlich: Die Menge an Nahrung, die für einen Tag zwischen 30 und 49 Jahren benötigt wird.
#Körperliche Aktivität Stufe 1 = Der größte Teil des Lebens sitzt
#Berechnet mit, wenn statische Aktivität zentral ist
#Das Salzäquivalent ist jedoch nicht erforderlich und sollte "kleiner oder gleich" sein.
one_da_nutrition_dict ={
"Energie kcal" : 2300.0,
"Protein g" : 65.0 ,
"Lipid g" : 63.9 ,
"Kohlenhydrate g" : 330.6 ,
"Calcium mg" : 750.0 ,
"Eisen mg" : 7.5 ,
"Vitamin A μg" : 900.0 ,
"Vitamin B 1 mg" : 1.4 ,
"Vitamin B 2 mg" : 1.6 ,
"Vitamin Cmg" : 100.0 ,
"Ballaststoffe g" : 21.0 ,
"Salzäquivalent g" : 7.5 ,
}
An diesem Punkt ist alles fertig.
McDonald's Menü ist vielfältig, "Ein perfektes Fünfeck mit Milch" "Gesund mit Salat und Gemüsesaft" bedeutet ** Das typische McDonald's-Gefühl ist dünn **, also Zunächst wurden die folgenden Mitglieder subjektiv als repräsentative Spieler ausgewählt.
Weil diese Wahl eine große religiöse Debatte sein dürfte Es mag einige Gläubige anderer Götter geben, aber ich gebe keine Einwände zu. Wenn Sie aus einer anderen Sekte stammen, ändern Sie bitte die ausgewählten Mitglieder und versuchen Sie den Code erneut.
** Nur mit diesen Kombinationen ** ** Holen Sie sich alle Nährstoffe, die Sie für den Tag benötigen, ** ** Und wenn der Salzgehalt unter dem Standardwert liegt ** ** Wie viele Kalorien wird es mindestens sein! ?? ** ** **
Nachdem wir den folgenden Code zusammengestellt haben, können wir ihn ausführen! !!
Linearer Plan der vollständigen Ernährung McDonald's-Diät
import pulp
#Problem Definition
#Dieses Mal möchte ich die Kalorien minimieren, also setze ich sie am Anfang
problem = pulp.LpProblem(name="Komplette Ernährung McDonald's Diät", sense=pulp.LpMinimize)
import csv
McDonaldsDict = {}
with open('/content/drive/My Drive/MACD/McDonald's Nährwertliste 2021009_R.csv') as f:
reader = csv.DictReader(f)
# OrderedDict([('Produktname', 'Filet 'o Shrimp'), ('Gewicht g', '174'),... ist in jeder Zeile enthalten
#* Für Säfte usw. beträgt der Nährwert "-Wurde durch 0 ersetzt
for row in reader:
# 'Filet 'o Shrimp' : OrderedDict([('Produktname', 'Filet 'o Shrimp'), ('Gewicht g', '174')In ein Wörterbuchformat verarbeitet
McDonaldsDict[row["Produktname"]] = row
#Holen Sie sich eine Liste der spezifischen Nährwerte
#Ziel Ziel_menu_Holen Sie sich den Wert des Nährwerts in der Reihenfolge in der Liste.
def get_nutrition_val_list(nutrition_dict, target_menu_list, eiyou_name):
result_list = []
for menu_name in target_menu_list:
#Holen Sie sich Nährwert und ersetzen Sie durch Float
eiyou_val = nutrition_dict[menu_name][eiyou_name]
result_list.append(float(eiyou_val))
return result_list
#Waren
#* Weil es um Kalorien, Coca-Cola Zero, Soken Micha usw. geht.
#Schließen Sie diejenigen mit völlig null Kalorien aus.
target_menu_list = [
"Teriyaki Mac Burger",
"Hamburger",
"Cheeseburger",
"Doppelter Cheeseburger",
"Moon Viewing Burger",
"Big Mac",
"Phileofisch",
"Huhn Mac Nugget 5 Stück",
"Mac Fliegenkartoffel(M)",
"Mac Fliegenkartoffel(S)",
"Ketchup",
"Grillsoße",
# "Mais",
# "Beilagensalat",
"Coca Cola(M)",
"MacShake® Vanille(S)",
"Minute Made Orange(M)",
# "Milch",
# "Gemüseleben 100(M)",
]
#Männlich: Die Menge an Nahrung, die für einen Tag zwischen 30 und 49 Jahren benötigt wird.
#Körperliche Aktivität Stufe 1 = Der größte Teil des Lebens sitzt
#Berechnet mit, wenn statische Aktivität zentral ist
#Das Salzäquivalent ist jedoch nicht erforderlich und sollte "kleiner oder gleich" sein.
one_da_nutrition_dict ={
"Energie kcal" : 2300.0,
"Protein g" : 65.0 ,
"Lipid g" : 63.9 ,
"Kohlenhydrate g" : 330.6 ,
"Calcium mg" : 750.0 ,
"Eisen mg" : 7.5 ,
"Vitamin A μg" : 900.0 ,
"Vitamin B 1 mg" : 1.4 ,
"Vitamin B 2 mg" : 1.6 ,
"Vitamin Cmg" : 100.0 ,
"Ballaststoffe g" : 21.0 ,
"Salzäquivalent g" : 7.5 ,
}
#Erstellen Sie für die Zielnährstoffe den Nährwert für jede Zielproduktliste im Listenformat.
eiyou_data={}
for key in one_da_nutrition_dict.keys():
#Ändern Sie den im Schlüssel enthaltenen Namen der Ernährung (Japanisch) in den Schlüssel des Datendiktats
eiyou_data[key] = get_nutrition_val_list(McDonaldsDict, target_menu_list, key)
#Definition von Variablen (* Verwenden Sie japanische Zeichenfolgen als Variablen, wie sie sind)
xs = [pulp.LpVariable('{}'.format(x), cat='Integer', lowBound=0) for x in target_menu_list]
#Zielfunktion: Minimierung der Energie
problem += pulp.lpDot(eiyou_data["Energie kcal"], xs)
#Einschränkungen: Erfüllen Sie jeden täglichen Ernährungsbedarf.
#Zustandsanpassung & EIN-Wird außerhalb der Schleife beschrieben, um das Ausschalten zu erleichtern.
#Das Salzäquivalent ist "innerhalb". Gibt es eine Lösung? Achtung.
problem += pulp.lpDot(eiyou_data["Protein g"], xs) >= one_da_nutrition_dict["Protein g"]
problem += pulp.lpDot(eiyou_data["Lipid g"], xs) >= one_da_nutrition_dict["Lipid g"]
problem += pulp.lpDot(eiyou_data["Kohlenhydrate g"], xs) >= one_da_nutrition_dict["Kohlenhydrate g"]
problem += pulp.lpDot(eiyou_data["Calcium mg"], xs) >= one_da_nutrition_dict["Calcium mg"]
problem += pulp.lpDot(eiyou_data["Eisen mg"], xs) >= one_da_nutrition_dict["Eisen mg"]
problem += pulp.lpDot(eiyou_data["Vitamin A μg"], xs) >= one_da_nutrition_dict["Vitamin A μg"]
problem += pulp.lpDot(eiyou_data["Vitamin B 1 mg"], xs) >= one_da_nutrition_dict["Vitamin B 1 mg"]
problem += pulp.lpDot(eiyou_data["Vitamin B 2 mg"], xs) >= one_da_nutrition_dict["Vitamin B 2 mg"]
problem += pulp.lpDot(eiyou_data["Vitamin Cmg"], xs) >= one_da_nutrition_dict["Vitamin Cmg"]
problem += pulp.lpDot(eiyou_data["Ballaststoffe g"], xs) >= one_da_nutrition_dict["Ballaststoffe g"]
problem += pulp.lpDot(eiyou_data["Salzäquivalent g"], xs) <= one_da_nutrition_dict["Salzäquivalent g"]
#Zeigen Sie den Inhalt eines bestimmten Problems an
print(problem)
status = problem.solve()
print("Status", pulp.LpStatus[status])
#* Stellen Sie sicher, dass es "Optimal" ist.
#Einfache Ergebnisanzeige
print([x.value() for x in xs])
print(problem.objective.value())
#Anzeige nach Variablenname
for x in xs:
print(str(x) + " × "+ str(int(x.value())) )
#Zeigen Sie das Berechnungsergebnis an, wie viel jeder Nährstoff geworden ist
print("----Ergebnis----")
for key in one_da_nutrition_dict.keys():
print(key + ": " + str(one_da_nutrition_dict[key]) +"Gegen" + str(round(pulp.lpDot( eiyou_data[key], xs).value())) )
Wenn Sie die oben genannten ...
** Ergebnis: 8035kcal **
Ausgabeergebnis
#Die Protokollausgabe um die Problemdefinition wird weggelassen.
Teriyaki Mac Burger x 0
Hamburger x 0
Käseburger x 0
Doppelter Käseburger x 1
Moon Viewing Burger x 2
Big Mac x 0
Phileofisch x 0
Hühnchen Mac Nugget_5 Stück x 0
Mac Fliegenkartoffel(M) × 0
Mac Fliegenkartoffel(S) × 0
Ketchup x 2
BBQ Sauce x 0
Coca Cola(M) × 0
MacShake®_Vanille(S) × 0
Minute Magd_Orange(M) × 46
----Ergebnis----
Energie kcal: 2300.8035 gegen 0
Protein g: 65.175 gegen 0
Lipid g: 63.85 gegen 9
Kohlenhydrat g: 330.1654 gegen 6
Calcium mg: 750.1526 gegen 0
Eisen mg: 7.20 gegen 5
Vitamin A μg: 900.900 gegen 0
Vitamin B 1 mg: 1.12 gegen 4
Vitamin B 2 mg: 1.2 gegen 6
Vitamin Cmg: 100.5433 gegen 0
Ballaststoffe g: 21.38 gegen 0
Salzäquivalent g: 7.5 bis 8
#Ergänzung: Salz hat die folgenden Bedingungen, und ist es 8 in Runde?
In der Tat, für den täglichen Bedarf von 2300 kcal, wie Sie werden auch ** 8035kcal ** nehmen. Und Doppelter Käseburger x 1 Tsukimi Burger x 2 überwiegend wegspülen ** 46 Tassen Minute Made_Orange Flood **.
** Repräsentativer Spieler mit einem typischen McDonald-Gefühl ** Wenn Sie es auf nur beschränken ** Ich fühle mich ein bisschen verrückt (Wortschatz) **.
Aber alle McDonald-Fans im ganzen Land, keine Sorge, Erstens, mit wenigen Möglichkeiten wie diesen, Weil es eine Bedingung ist, alle Nährstoffe zu befriedigen Das Ergebnis ist nur 8035 kcal. Ich möchte noch realistischere Bedingungen bestätigen.
Auch für mich, wenn ich mit den bisherigen Ergebnissen ende Es ist Nacht, ** Dunkelheit durch gelbe und rote Clowns ** Du musst Angst haben.
Zunächst nach dem Dekret von "** Lass uns Gemüse gut essen **" Kommentieren Sie Salate und Zuckermais aus. Lassen Sie uns auch das Leben mit Milch und Gemüse in Ordnung bringen!
** Ergebnis: 1994kcal **
Lass uns Gemüse gut essen
Teriyaki Mac Burger x 1
Hamburger x 0
Käseburger x 0
Doppelkäseburger x 0
Moon Viewing Burger x 0
Big Mac x 0
Phileofisch x 0
Hühnchen Mac Nugget_5 Stück x 0
Mac Fliegenkartoffel(M) × 0
Mac Fliegenkartoffel(S) × 2
Ketchup x 0
BBQ Sauce x 0
Zuckermais x 2
Beilagensalat x 95
Coca Cola(M) × 0
MacShake®_Vanille(S) × 0
Minute Magd_Orange(M) × 0
Milch x 0
Gemüseleben 100(M) × 0
----Ergebnis----
Energie kcal: 2300.1994 gegen 0
Protein g: 65.72 gegen 0
Lipid g: 63.64 gegen 9
Kohlenhydrat g: 330.331 gegen 6
Calcium mg: 750.1308 gegen 0
Eisen mg: 7.5 gegen 22
Vitamin A μg: 900.2580 gegen 0
Vitamin B 1 mg: 1.3 gegen 4
Vitamin B 2 mg: 1.2 gegen 6
Vitamin Cmg: 100.1454 gegen 0
Ballaststoffe g: 21.87 gegen 0
Salzäquivalent g: 7.5 gegen 4
1994 kcal, was weniger als der Standardwert von 2300 kcal ist. Sie können Diät halten, während Sie die richtige Ernährung erhalten. Wirklich gesunde Ergebnisse und darüber hinaus Teriyaki Mac Burger x 1 Mac Fly Potato (S) x 2 Sie können auch essen! !!
Ich dachte, ** Beilagensalat x 95 ** (Entschuldigung)
So ein Gemüse kann man nicht essen! !! Es ist eine Menge, die wahrscheinlich eine Quelle für Versandhandelsprogramme für Gesundheitssäfte ist. ** Immerhin war der Einfluss des Beilagensalats zu groß. ** ** **
Versuchen Sie daher die Cornflake-Methode. ** Ein Plan, der mit Getränken wie Milch und Saft aufgefüllt wird, ist in Ordnung **. Lassen Sie uns nur den Beilagensalat und den Zuckermais entfernen.
** Ergebnis: 2933 kcal **
Teriyaki Mac Burger x 0
Hamburger x 0
Käseburger x 1
Doppelkäseburger x 0
Moon Viewing Burger x 1
Big Mac x 0
Phileofisch x 0
Hühnchen Mac Nugget_5 Stück x 0
Mac Fliegenkartoffel(M) × 2
Mac Fliegenkartoffel(S) × 2
Ketchup x 0
BBQ Sauce x 0
Coca Cola(M) × 0
MacShake®_Vanille(S) × 0
Minute Magd_Orange(M) × 2
Milch x 3
Gemüseleben 100(M) × 2
----Ergebnis----
Energie kcal: 2300.2933 gegen 0
Protein g: 65.81 gegen 0
Lipid g: 63.125 gegen 9
Kohlenhydrat g: 330.371 gegen 6
Calcium mg: 750.1013 gegen 0
Eisen mg: 7.5 bis 8
Vitamin A μg: 900.2018 gegen 0
Vitamin B 1 mg: 1.2 gegen 4
Vitamin B 2 mg: 1.2 gegen 6
Vitamin Cmg: 100.311 gegen 0
Ballaststoffe g: 21.21 gegen 0
Salzäquivalent g: 7.5 bis 8
Käseburger x 1 Moon Viewing Burger x 1 Mac Fly Potato (M) x 2 Mac Fly Potato (S) x 2 Dazu ein paar Flaschen Orangensaft, Milch und Gemüsesaft. Genau wie wenn Sie tagsüber und nachts nach einem festgelegten Wert fragen Es ist ein bisschen zu viel, 2933kcal, Wenn dies der Fall ist, wird es näher an der Realität sein! ?? (Wahrscheinlich, weil es zu viel Kartoffel für Ballaststoffe oder so gibt Sie können Ballaststoffe aus einem etwas anderen Menü usw. nehmen.)
Dies ist ** eine reguläre Kartoffelversion des eingestellten Wertes ** ** Trinken, Orangensaft oder Milch oder Gemüse ** Machen Sie es einfach **, was in Bezug auf die Nährstoffbilanz ganz ideal ist **. Es legt nahe, dass. (Etwas ohne Ballaststoffe / Eisen)
McDonald's Essen ist gut für Ihre Gesundheit! Das kann ich nicht sagen Es wäre nicht so schlimm.
Versuchen Sie gemäß diesem Vorschlag die folgenden Kombinationen Ich habe das Nährwertkennzeichen auf der oben genannten offiziellen Website ausprobiert.
Bildquelle: Offizielle Website von McDonald's > Unsere Verantwortung > Unsere Lebensmittel > Überprüfung der Nährstoffbilanz
Entspricht einer Mahlzeit, überschreitet fast jeder Nährstoff die 40% -Linie pro Tag. ** Fügen Sie einfach Milch und Fruchtsaft zu Ihrem Wertesatz hinzu ** ** Es wird so ein ideales Essen sein! !! Es scheint, dass Sie so werben können. ** ** **
~~ Es gibt eine Theorie, dass Lipide übermäßig sind. ~~ ~~ Vielleicht ist das meiste Essen auch Milch und Gemüsesaft ~~ ~~ Es kann möglich sein, ein "Cornflake-Fünfeck" herzustellen, indem man es verstärkt. ~~
Noch mehr als realistischere Lösung ** Wenn ein Menü bis zu einmal bestellt werden kann ** (Das heißt, es ist NG, nur 95 Salate zu bestellen) Versuchen Sie mit die optimale Lösung zu finden. Der Zielmenübereich wird auch auf alle normalen Typen erweitert.
Ändern Sie einfach den Code wie folgt! ① Alle normalen Menüs (außer Barista) auswählen (2) Fügen Sie bei der Definition der Variablen die Bedingung "Maximalwert = 1" hinzu.
Wenn ein Menü nur einmal bestellt werden kann
#Ziehen Sie das Varistor-Menü heraus
target_menu_list = [x for x in McDonaldsDict.keys() if McDonaldsDict[x]["Einstufung"]!="Varistor"]
#Unterlassung
#Variablendefinition upBound=1 ist die Bedingung, dass der Maximalwert 1 ist
xs = [pulp.LpVariable('{}'.format(x), cat='Integer', lowBound=0, upBound=1) for x in target_menu_list]
Lassen Sie uns das Ergebnis sehen, wenn Sie bis zu einmal bestellen können!
** Ergebnis: 2453 kcal **
Ei McMuffin x 1
Erdbeermarmelade x 1
Mac Griddle_Speckei x 1
Beilagensalat x 1
Teilen Sie Kartoffel x 1
Zuckermais x 1
Suntory schwarzer Drachentee#Dunkler x 1
Premium gerösteter Eiskaffee(L) × 1
Premium-Röstkaffee(M) × 1
Premium-Röstkaffee(S) × 1
Heißer Tee(Gerade)(M) × 1
MacShake®_Schokolade(S) × 1
Minute Magd_Orange(S) × 1
Milch x 1
Flüssige Zitrone x 1
Gemüseleben 100(M) × 1
----Ergebnis----
Energie kcal: 2300.2453 gegen 0
Protein g: 65.67 gegen 0
Lipid g: 63.9 gegen 95
Kohlenhydrat g: 330.331 gegen 6
Calcium mg: 750.856 gegen 0
Eisen mg: 7.5 bis 8
Vitamin A μg: 900.1161 gegen 0
Vitamin B 1 mg: 1.1 für 4
Vitamin B 2 mg: 1.2 gegen 6
Vitamin Cmg: 100.254 gegen 0
Ballaststoffe g: 21.21 gegen 0
Salzäquivalent g: 7.5 bis 8
Schade, dass das typische Burgersystem verschwunden ist, Ich konnte eine Lösung finden, die ich einigermaßen realistisch bestellen konnte. Salat, Zuckermais, Gemüseleben, Milch, Orangensaft usw. Das Ass vom letzten Mal ist noch ausgewählt. ** Das überraschende Ergebnis ist, dass MacShake®_chocolate enthalten ist **.
Schließlich der Vertreter des Nährstoffbilanz-Fünfecks, Fügen wir die Daten von Corn Frosty (Kellogg) hinzu. Beziehen Sie sich auf der offiziellen Website von Kellogg auf die Daten von Corn Frosty, Erstellen Sie Dict-Daten einzeln wie unten gezeigt. Fügen Sie es einfach zu den Originaldaten hinzu und führen Sie es aus.
Corn Frosty Daten
from collections import OrderedDict
##Hinzufügen einer milchlosen Version der Daten zu Maisfrost
#Referenz: https://www.kelloggs.jp/ja_JP/products/corn-frosties.html
k_od = OrderedDict()
k_od['Produktname'] = "Mais Frosty"
k_od['Gewicht g'] = 30.0
k_od['Energie kcal'] = 114.0
k_od['Protein g'] = 1.7 #1.2~2.2
k_od['Lipid g'] = 0.25 #0~0.5
k_od['Kohlenhydrate g'] = 26.9
#k_od['Natrium mg'] =
#k_od['Kalium mg'] =
k_od['Calcium mg'] = 1.5 #0.5~2.5
#k_od['Phosphor mg'] =
k_od['Eisen mg'] = 1.4
k_od['Vitamin A μg'] = 96 #53~139
k_od['Vitamin B 1 mg'] = 0.47
k_od['Vitamin B 2 mg'] = 0.42
#k_od['Niacin mg'] =
k_od['Vitamin Cmg'] = 15
#k_od['Cholesterin mg'] =
k_od['Ballaststoffe g'] = 1.2 #0.4~2.0
k_od['Salzäquivalent g'] = 0.3
#k_od['Einstufung'] =
#Hinzufügen von kegelfrostigen Daten
#McDonaldsDict["Mais Frosty"] = k_od
Dieses Mal konzentriert sich das Menü auf die repräsentativen Spieler von McDonald's. Für die Version ohne Salat und mit Getränk, Hier sind die Ergebnisse der Version mit Corn Frosty als Option.
** Ergebnis: 2544kcal **
Teriyaki Mac Burger x 0
Hamburger x 2
Käseburger x 0
Doppelkäseburger x 0
Moon Viewing Burger x 0
Big Mac x 0
Phileofisch x 0
Hühnchen Mac Nugget_5 Stück x 0
Mac Fliegenkartoffel(M) × 2
Coca Cola(M) × 0
Minute Magd_Orange(M) × 0
Milch x 3
Gemüseleben 100(M) × 0
Mais Frosty x 7
----Ergebnis----
Energie kcal: 2300.2544 gegen 0
Protein g: 65.68 gegen 0
Lipid g: 63.85 gegen 9
Kohlenhydrat g: 330.381 gegen 6
Calcium mg: 750.788 gegen 0
Eisen mg: 7.5 gegen 14
Vitamin A μg: 900.940 gegen 0
Vitamin B 1 mg: 1.4 gegen 4
Vitamin B 2 mg: 1.4 gegen 6
Vitamin Cmg: 100.145 gegen 0
Ballaststoffe g: 21.21 gegen 0
Salzäquivalent g: 7.5 gegen 7
** Corn Frosty x 7 ** ** Milch x 3 ** Also, wenn Sie Corn Frosty nicht wählen können Es war 2933 kcal, aber bis zu 2544 kcal Ich konnte die Kalorienaufnahme reduzieren. Wie erwartet ** Dieser Tiger ist kein Datum. ** ** **
Auf der anderen Seite jedoch auch mit der Zugabe von Tigern ** Hamburger x 2 ** ** Mac Fly Potato (M) x 2 ** Es ist auch so, dass die eingestellte Kraft gräbt ** Es zeigt auch die Exzellenz von McDonald's Seite **.
Das heißt, Mais frostig + Milch zum Frühstück (~~ × 7 ist ziemlich viel ~~) Selbst in der Essgewohnheit des Wertes (Kartoffel) Tag und Nacht, Es scheint, dass ein anständiges Ernährungsgleichgewicht aufrechterhalten wird.
Basierend auf den Ergebnissen dieser Forschung ** Wenn Sie McDonald nur auf eine unbewohnte Insel bringen können **, ** Sie können jetzt das beste Menü bestellen **.
Wert eingestellt, auch wenn die Seite Kartoffel ist Obwohl es eine überraschend gute Nährstoffbilanz gibt, Es sei denn, Sie wählen Salat oder Zuckermais Es wird zu kalorienreich sein. ** "Lass uns Gemüse gut essen" **
Auch als Getränk Milch, Gemüse, Orangensaft, Ich fand, dass die Gegend nützlich war. Wenn Sie ein Fünfeck mit einer Nährstoffbilanz herstellen, die ein pflanzliches Leben hinzufügt ** Kann der gelbe Clown den Tiger auch mit verschränkten Armen bekämpfen? ** ** ** Das Hinzufügen von Beilagensalat erhöht Ihre Kraft weiter.
Wenn Sie die Optionen jedoch nur auf das supertypische Menü eingrenzen, In der Tat wird es ** 8000 kcal oder mehr ** sein. ** Wenn Sie nur bestellen, was Sie möchten, werden Sie fett **, Es stellte sich heraus, dass. (offensichtlich)
Wenn Sie den Beilagensalat und den Zuckermais akzeptieren, Unter Beibehaltung der für den Tag benötigten Nährstoffe Weil es möglich war, die Kalorien unter dem Standardwert zu halten ** Immerhin als Richtlinie, wenn Sie alleine bei McDonald's leben ** ** Bei Bestellung eines Wertesatzes (Kartoffel) ** ** Wenn Sie mehr Salat, Milch und Gemüse bestellen ** ** Es wird möglich sein, eine relativ gesunde, ausgewogene Ernährung aufrechtzuerhalten. ** ** **
** Obwohl es eine naheliegende Schlussfolgerung ist, ausgewogen zu essen, ** ** Dies kann nur durch Kombinieren der Optionen in einem Geschäft realisiert werden ** ** Ist es nicht hübsch, Elai? ** ** **
~~ Wenn ich McDonald um Verbesserung bitte ~~ ~~ Als Hauptoption von Happy Set kostet es ungefähr +100 Yen ~~ ~~ Ich möchte, dass Sie auch den Teriyaki Mac Burger wählen können. ~~ ~~ Bitte fügen Sie auch das diesem Code entsprechende Tool in die offizielle Website ein. ~~ ~~ In diesem Fall würde ich gerne zusammenarbeiten. ~~
Zunächst die Berechnung für Nährstoffe Es ist ein typisches Problem von PuLP und linearer Planung. Auch auf der offiziellen Website von McDonald's Weil die Daten im Listenformat vorhanden waren Ich habe mich gefragt, ob das ganz einfach geht.
Aber wenn ich versuche, es auf reale Daten anzuwenden Wenn Sie es so machen, wie es ist, wird es ein gefährlicher Code sein. Japanische Namensvariablen, dynamische Variablenzuweisung, Ausdrucksdefinition in der Matrix usw. Es gibt viele Teile, die gegenüber der PuLP-Probe geändert werden müssen. Es brauchte mehr Einfallsreichtum als erwartet.
Letztendlich dank dieses Einfallsreichtums Ich konnte meine Forschung vertiefen, indem ich verschiedene Daten austauschte ~~ play ~~.
Der Code befindet sich diesmal nur im Browser, solange Sie CSV erstellen Weil es in einer Form organisiert ist, die mit einer Kopie ausgeführt werden kann Wenn Sie interessiert sind, versuchen Sie es bitte erneut. Ich möchte, dass Sie überlegen, verschiedene Bedingungen zu ändern. Da dies im Labor möglich ist, kann es vom Fenster oder vom Apfel aus erfolgen.
Die Menüdaten auf der offiziellen McDonald's-Website sind Die Ergebnisse können sich ändern, da sie täglich aktualisiert zu werden scheinen.
das ist alles. Das Ergebnis dieser Studie ist ** Ich fühle mich jedes Mal schuldig, wenn ich durch das Tor von McDonald's gehe ** ** Ich hoffe, es hilft den unterbewerteten Mac-Followern. ** ** ** ~~ Ich denke, jemand hat gesagt, dass es unter Ingenieuren viele Mac-Anhänger gibt ~~