Update app.py
Browse files
app.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
# 必要なライブラリをインポート
|
| 2 |
import streamlit as st
|
| 3 |
-
from sympy import symbols, expand, factor, Eq, solve, diff, N, simplify, factorial, parse_expr
|
| 4 |
import math
|
| 5 |
from scipy.optimize import fsolve
|
| 6 |
|
|
@@ -10,15 +10,16 @@ st.title("数学関数アプリ")
|
|
| 10 |
|
| 11 |
# サイドバーに説明を追加
|
| 12 |
st.sidebar.header("機能説明")
|
| 13 |
-
st.sidebar.markdown("- 因数分解(
|
| 14 |
-
st.sidebar.markdown("- 展開(
|
| 15 |
-
st.sidebar.markdown("- 方程式(
|
| 16 |
-
st.sidebar.markdown("- 連立方程式(
|
| 17 |
st.sidebar.markdown("- nPm, nCm")
|
| 18 |
st.sidebar.markdown("- 多項式への代入計算")
|
| 19 |
st.sidebar.markdown("- ふたつの関数の交点の計算")
|
| 20 |
st.sidebar.markdown("- 三平方の定理(空欄補充)")
|
| 21 |
st.sidebar.markdown("- 素因数分解(Sympy)")
|
|
|
|
| 22 |
|
| 23 |
|
| 24 |
# Symbolの定義
|
|
@@ -32,7 +33,7 @@ st.sidebar.markdown("- 素因数分解(Sympy)")
|
|
| 32 |
|
| 33 |
|
| 34 |
# メインのコンテンツを作成
|
| 35 |
-
selected_function = st.sidebar.selectbox("機能を選択", ["因数分解", "展開", "方程式", "連立方程式", "nPm", "nCm", "多項式への代入計算", "関数の交点", "三平方の定理", "素因数分解"])
|
| 36 |
|
| 37 |
|
| 38 |
# 因数分解
|
|
@@ -167,4 +168,12 @@ elif selected_function == "素因数分解":
|
|
| 167 |
expression = st.text_input("素因数分解する式を入力してください:")
|
| 168 |
if expression:
|
| 169 |
factored_expression = factor(expression)
|
| 170 |
-
st.success(f"素因数分解結果: {factored_expression.subs(user_defined_symbols)}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# 必要なライブラリをインポート
|
| 2 |
import streamlit as st
|
| 3 |
+
from sympy import symbols, expand, factor, Eq, solve, diff, N, simplify, factorial, parse_expr, sqrt
|
| 4 |
import math
|
| 5 |
from scipy.optimize import fsolve
|
| 6 |
|
|
|
|
| 10 |
|
| 11 |
# サイドバーに説明を追加
|
| 12 |
st.sidebar.header("機能説明")
|
| 13 |
+
st.sidebar.markdown("- 因数分解(2x=2*x)")
|
| 14 |
+
st.sidebar.markdown("- 展開(2x=2*x)")
|
| 15 |
+
st.sidebar.markdown("- 方程式(2x=2*x)")
|
| 16 |
+
st.sidebar.markdown("- 連立方程式(2x=2*x)")
|
| 17 |
st.sidebar.markdown("- nPm, nCm")
|
| 18 |
st.sidebar.markdown("- 多項式への代入計算")
|
| 19 |
st.sidebar.markdown("- ふたつの関数の交点の計算")
|
| 20 |
st.sidebar.markdown("- 三平方の定理(空欄補充)")
|
| 21 |
st.sidebar.markdown("- 素因数分解(Sympy)")
|
| 22 |
+
st.sidebar.markdown("- 記述式計算")
|
| 23 |
|
| 24 |
|
| 25 |
# Symbolの定義
|
|
|
|
| 33 |
|
| 34 |
|
| 35 |
# メインのコンテンツを作成
|
| 36 |
+
selected_function = st.sidebar.selectbox("機能を選択", ["因数分解", "展開", "方程式", "連立方程式", "nPm", "nCm", "多項式への代入計算", "関数の交点", "三平方の定理", "素因数分解", "普通の記述式計算"])
|
| 37 |
|
| 38 |
|
| 39 |
# 因数分解
|
|
|
|
| 168 |
expression = st.text_input("素因数分解する式を入力してください:")
|
| 169 |
if expression:
|
| 170 |
factored_expression = factor(expression)
|
| 171 |
+
st.success(f"素因数分解結果: {factored_expression.subs(user_defined_symbols)}")
|
| 172 |
+
elif selected_function == "普通の記述式計算":
|
| 173 |
+
expression = st.text_input("計算したい数式を入力してください:")
|
| 174 |
+
if expression:
|
| 175 |
+
try:
|
| 176 |
+
result = parse_expr(expression).subs(user_defined_symbols)
|
| 177 |
+
st.success(f"計算結果: {result}")
|
| 178 |
+
except Exception as e:
|
| 179 |
+
st.error(f"エラー: {e}")
|