Trapezoid / app.py
Hidayatmahar's picture
Update app.py
22ef1fd verified
import streamlit as st
import math
def convert_to_feet(zanjir, ana):
"""زنجير ۽ آنا کي فٽن ۾ تبديل ڪريو."""
return zanjir * 33 + ana * 2
def convert_to_zanjir_ana(feet):
"""فٽن کي زنجير ۽ آنا ۾ تبديل ڪريو."""
zanjir = int(feet // 33)
ana = int((feet % 33) / 2)
return zanjir, ana
def calculate_triangle_area(base_c, height):
"""ٽرائي اينگل جي ايراضي ڳڻپ ڪريو."""
return (base_c * height) / 2
def calculate_rectangle_area(base_b, height):
"""مستطيل جي ايراضي ڳڻپ ڪريو."""
return base_b * height
# Streamlit ايپ
st.title("ٽريپزائڊ جي ايراضي ۽ انڪلائينڊ ڊگھائي ڳڻپ ڪندڙ اوزار")
st.header("ماپ ڏيو")
# ماپ جي قسم چونڊيو
unit_type = st.selectbox("ماپ جي قسم چونڊيو", ("فٽ ۽ انچ", "زنجير ۽ آنا"))
if unit_type == "فٽ ۽ انچ":
# بنياد (b) لاءِ داخلا
base_b_feet = st.number_input("بنياد (b) فٽ ۾", min_value=0.0, value=0.0, step=0.1)
base_b_inches = st.number_input("بنياد (b) انچ ۾", min_value=0, value=0, step=1)
# ڪل بنياد (d) لاءِ داخلا
total_d_feet = st.number_input("ڪل بنياد (d = b + c) فٽ ۾", min_value=0.0, value=0.0, step=0.1)
total_d_inches = st.number_input("ڪل بنياد (d = b + c) انچ ۾", min_value=0, value=0, step=1)
# اوچائي (h) لاءِ داخلا
height_feet = st.number_input("اوچائي (h) فٽ ۾", min_value=0.0, value=0.0, step=0.1)
height_inches = st.number_input("اوچائي (h) انچ ۾", min_value=0, value=0, step=1)
# فٽ ۽ انچ کي فٽن ۾ تبديل ڪريو
base_b_total_feet = base_b_feet + (base_b_inches / 12)
total_d_total_feet = total_d_feet + (total_d_inches / 12)
height_total_feet = height_feet + (height_inches / 12)
elif unit_type == "زنجير ۽ آنا":
# بنياد (b) لاءِ داخلا زنجير ۽ آنا ۾
base_b_zanjir = st.number_input("بنياد (b) زنجير ۾", min_value=0, value=0, step=1)
base_b_ana = st.number_input("بنياد (b) آنا ۾", min_value=0, value=0, step=1)
# ڪل بنياد (d) لاءِ داخلا زنجير ۽ آنا ۾
total_d_zanjir = st.number_input("ڪل بنياد (d = b + c) زنجير ۾", min_value=0, value=0, step=1)
total_d_ana = st.number_input("ڪل بنياد (d = b + c) آنا ۾", min_value=0, value=0, step=1)
# اوچائي (h) لاءِ داخلا زنجير ۽ آنا ۾
height_zanjir = st.number_input("اوچائي (h) زنجير ۾", min_value=0, value=0, step=1)
height_ana = st.number_input("اوچائي (h) آنا ۾", min_value=0, value=0, step=1)
# زنجير ۽ آنا کي فٽن ۾ تبديل ڪريو
base_b_feet = convert_to_feet(base_b_zanjir, base_b_ana)
total_d_feet = convert_to_feet(total_d_zanjir, total_d_ana)
height_feet = convert_to_feet(height_zanjir, height_ana)
# ٽريپزائڊ جي ايراضي لاءِ ڳڻپ
if st.button("ڳڻپ ڪريو"):
# بنياد (c) ڳڻپ ڪريو (c = d - b)
base_c_feet = total_d_feet - base_b_feet
# انڪلائينڊ ڊگھائي ڳڻپ ڪريو (ہائپوٿينيوز)
inclined_length_feet = math.sqrt(base_c_feet**2 + height_feet**2)
# ايراضي ڳڻپ ڪريو
rectangle_area_feet = calculate_rectangle_area(base_b_feet, height_feet)
triangle_area_feet = calculate_triangle_area(base_c_feet, height_feet)
total_area_feet = rectangle_area_feet + triangle_area_feet
area_wesa = total_area_feet / 1089 # ايراضي ويسا ۾
# نتيجا زنجير ۽ آنا ۾ تبديل ڪريو
inclined_zanjir, inclined_ana = convert_to_zanjir_ana(inclined_length_feet)
area_zanjir, area_ana = convert_to_zanjir_ana(total_area_feet)
# نتيجا ڏيکاريو
st.success(f"انڪلائينڊ ڊگھائي: {inclined_zanjir} زنجير ۽ {inclined_ana} آنا")
st.success(f"ايراضي: {area_zanjir} زنجير ۽ {area_ana} آنا")
st.success(f"ايراضي (چورس فٽ): {total_area_feet:.2f}")
st.success(f"ايراضي (ويسا): {area_wesa:.4f}")
# اضافي معلومات
base_c_zanjir, base_c_ana = convert_to_zanjir_ana(base_c_feet)
st.info(f"حساب ٿيل بنياد (c): {base_c_zanjir} زنجير ۽ {base_c_ana} آنا")