import streamlit as st def calculate_meat_amount(adults, children, max_eater_amount, your_amount): """ מחשב את כמות הבשר הכוללת הנדרשת למנגל (בגרמים) """ try: # Guard rails - check for valid input ranges 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) ) # Guard rail - check for reasonable total if total_meat > 50000: # More than 50kg return "argentinian" return int(total_meat * WASTE_FACTOR) except: return "argentinian" # Set page config st.set_page_config( page_title="מחשבון בשר למנגל", page_icon="🥩", layout="wide" ) # Custom CSS for RTL support and styling st.markdown(""" """, unsafe_allow_html=True) # Title st.title("🥩 מחשבון בשר למנגל") st.markdown("### חשב כמה בשר צריך להביא למנגל") # Create two columns for input fields 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("""