File size: 4,037 Bytes
e26e6f0 b56c552 28e57d6 b56c552 d73cfae b56c552 d73cfae b56c552 013c7f1 93d1180 013c7f1 b56c552 3057500 93d1180 3057500 93d1180 3057500 93d1180 3057500 93d1180 3057500 93d1180 e26e6f0 d73cfae 0e28850 d73cfae 0e28850 d73cfae 0e28850 d73cfae 0e28850 d73cfae 0e28850 d73cfae b56c552 e26e6f0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
import streamlit as st
def main():
st.title("้ๅๆไฝใขใใช")
# ใกใใฅใผใฎ้ธๆ
option = st.sidebar.selectbox("ๆฉ่ฝใ้ธๆใใฆใใ ใใ", ["้ๅใฎๆไฝ", "ๅ
จไฝ้ๅใฎ็ๆ", "่ฃ้ๅใฎ่จ็ฎ"])
if option == "้ๅใฎๆไฝ":
set_operations()
elif option == "ๅ
จไฝ้ๅใฎ็ๆ":
generate_universe()
elif option == "่ฃ้ๅใฎ่จ็ฎ":
complement_operation()
def parse_set(input_str):
if input_str:
try:
return set(map(int, input_str.split(',')))
except ValueError:
st.error("ๅ
ฅๅใๆญฃใใใใใพใใใใซใณใๅบๅใใฎๆดๆฐใๅ
ฅๅใใฆใใ ใใใ")
return None
else:
st.error("ๅ
ฅๅใ็ฉบใงใใใซใณใๅบๅใใฎๆดๆฐใๅ
ฅๅใใฆใใ ใใใ")
return None
def set_operations():
st.header("้ๅใฎๆไฝ")
with st.form(key='set_operations_form'):
# ใฆใผใถใผๅ
ฅๅ
set1 = st.text_input("้ๅ1 (ใซใณใๅบๅใใง่ฆ็ด ใๅ
ฅๅใใฆใใ ใใ)", "1,2,3")
set2 = st.text_input("้ๅ2 (ใซใณใๅบๅใใง่ฆ็ด ใๅ
ฅๅใใฆใใ ใใ)", "3,4,5")
set3 = st.text_input("้ๅ3 (ใซใณใๅบๅใใง่ฆ็ด ใๅ
ฅๅใใฆใใ ใใ)", "5,6,7")
# ใใฉใผใ ้ไฟกใใฟใณ
submit_button = st.form_submit_button(label='ๅฎ่ก')
if submit_button:
# ๅ
ฅๅใใใๆๅญๅใ้ๅใซๅคๆ
set1 = parse_set(set1)
set2 = parse_set(set2)
set3 = parse_set(set3)
if set1 is not None and set2 is not None and set3 is not None:
# ้ๅใฎๆไฝ
st.subheader("้ๅใฎๆไฝ็ตๆ")
st.subheader("ๅ้ๅ")
union = set1.union(set2, set3)
st.write(union)
st.subheader("็ฉ้ๅ")
intersection = set1.intersection(set2, set3)
if intersection:
st.write(intersection)
else:
st.write("็ฉ้ๅใฎ็ตๆใฏ็ฉบใงใใ")
st.subheader("ๅทฎ้ๅ")
difference = set1.difference(set2, set3)
st.write(difference)
st.subheader("ๅฏพ็งฐๅทฎ")
symmetric_difference = set1.symmetric_difference(set2)
st.write(symmetric_difference)
def generate_universe():
st.header("ๅ
จไฝ้ๅใฎ็ๆ")
with st.form(key='generate_universe_form'):
# ใฆใผใถใผๅ
ฅๅ
initial_value = st.number_input("ๅๆๅค", value=0)
step = st.number_input("ในใใใ", value=1)
num_steps = st.number_input("ๅๆฐ", value=10, min_value=1)
# ใใฉใผใ ้ไฟกใใฟใณ
submit_button = st.form_submit_button(label='็ๆ')
if submit_button:
# ๅ
จไฝ้ๅใฎ็ๆ
universe_set = set(range(initial_value, initial_value + step * num_steps, step))
st.subheader("็ๆใใใๅ
จไฝ้ๅ")
st.write(universe_set)
def complement_operation():
st.header("่ฃ้ๅใฎ่จ็ฎ")
with st.form(key='complement_operation_form'):
# ๅ
จไฝ้ๅใฎๆๅฎ
universe = st.text_input("ๅ
จไฝ้ๅ (ใซใณใๅบๅใใง่ฆ็ด ใๅ
ฅๅใใฆใใ ใใ)", "1,2,3,4,5,6,7,8,9,10")
# ๅฏพ่ฑก้ๅใฎๆๅฎ
target_set = st.text_input("ๅฏพ่ฑก้ๅ (ใซใณใๅบๅใใง่ฆ็ด ใๅ
ฅๅใใฆใใ ใใ)", "1,3,5")
# ใใฉใผใ ้ไฟกใใฟใณ
submit_button = st.form_submit_button(label='่จ็ฎ')
if submit_button:
# ๅ
ฅๅใใใๆๅญๅใ้ๅใซๅคๆ
universe_set = parse_set(universe)
target_set = parse_set(target_set)
if universe_set is not None and target_set is not None:
# ่ฃ้ๅใฎ่จ็ฎ
complement = universe_set.difference(target_set)
st.subheader("่ฃ้ๅใฎ่จ็ฎ็ตๆ")
st.write(complement)
if __name__ == "__main__":
main()
|