| import streamlit as st |
|
|
| def calculate_meat_amount(adults, children, max_eater_amount, your_amount): |
| """ |
| מחשב את כמות הבשר הכוללת הנדרשת למנגל (בגרמים) |
| """ |
| try: |
| |
| if (adults > 50 or children > 50 or |
| max_eater_amount > 2000 or your_amount > 2000 or |
| max_eater_amount < 200 or your_amount < 100): |
| return "argentinian" |
| |
| CHILD_FACTOR = 0.4 |
| REGULAR_ADULT_FACTOR = 0.7 |
| WASTE_FACTOR = 1.1 |
| |
| regular_adult_amount = max_eater_amount * REGULAR_ADULT_FACTOR |
| |
| total_meat = ( |
| your_amount + |
| max_eater_amount + |
| (regular_adult_amount * (adults - 1)) + |
| (regular_adult_amount * CHILD_FACTOR * children) |
| ) |
| |
| |
| if total_meat > 50000: |
| return "argentinian" |
| |
| return int(total_meat * WASTE_FACTOR) |
| except: |
| return "argentinian" |
|
|
| |
| st.set_page_config( |
| page_title="מחשבון בשר למנגל", |
| page_icon="🥩", |
| layout="wide" |
| ) |
|
|
| |
| st.markdown(""" |
| <style> |
| .stMarkdown, .stButton, .stTextInput, .stNumberInput { |
| direction: rtl; |
| text-align: right; |
| } |
| button[kind="primary"] { |
| width: 100%; |
| } |
| .argentinian-response { |
| font-size: 24px; |
| text-align: center; |
| padding: 20px; |
| background-color: #f0f2f6; |
| border-radius: 10px; |
| margin: 20px 0; |
| } |
| </style> |
| """, unsafe_allow_html=True) |
|
|
| |
| st.title("🥩 מחשבון בשר למנגל") |
| st.markdown("### חשב כמה בשר צריך להביא למנגל") |
|
|
| |
| col1, col2 = st.columns(2) |
|
|
| with col1: |
| adults = st.number_input("מספר מבוגרים (לא כולל אותך)", |
| min_value=1, |
| value=5, |
| help="כמה מבוגרים יהיו במנגל (לא כולל אותך)") |
| |
| your_amount = st.number_input("כמה בשר (בגרם) אתה אוכל?", |
| min_value=100, |
| max_value=2000, |
| value=600, |
| step=50, |
| help="הכמות שאתה בדרך כלל אוכל במנגל") |
|
|
| with col2: |
| children = st.number_input("מספר ילדים", |
| min_value=0, |
| value=2, |
| help="כמה ילדים יהיו במנגל") |
| |
| max_eater_amount = st.number_input("כמה בשר (בגרם) אוכל האדם שאוכל הכי הרבה?", |
| min_value=200, |
| max_value=2000, |
| value=800, |
| step=50, |
| help="כמות הבשר שאוכל האדם עם התיאבון הכי גדול") |
|
|
| if st.button("חשב כמות בשר"): |
| result = calculate_meat_amount(adults, children, max_eater_amount, your_amount) |
| |
| st.markdown("---") |
| |
| if result == "argentinian": |
| st.markdown(""" |
| <div class="argentinian-response"> |
| 🥩 סמוך עלי, אני ארגנטינאי 🥩 |
| </div> |
| """, unsafe_allow_html=True) |
| else: |
| st.markdown(f"### התוצאות:") |
| |
| st.markdown(f""" |
| #### 🥩 סך כמות הבשר המומלצת: {result:,} גרם ({result/1000:.1f} ק\"ג) |
| |
| הכמות הזו מבוססת על: |
| * {adults} מבוגרים (לא כולל אותך) |
| * {children} ילדים |
| * אדם שאוכל הכי הרבה: {max_eater_amount} גרם |
| * הכמות שאתה אוכל: {your_amount} גרם |
| |
| ℹ️ הכמות כוללת תוספת של 10% למקרה של אובדן/שריפה/תוספות לא צפויות |
| """) |
| |
| |
| st.markdown("---") |
| st.markdown("### 📝 הערות:") |
| st.markdown(""" |
| * הנוסחה מניחה שמבוגר ממוצע אוכל כ-70% מכמות הבשר של האדם שאוכל הכי הרבה |
| * ילדים נחשבים כאוכלים כ-40% מכמות הבשר של מבוגר ממוצע |
| """) |
|
|