OzoneAsai commited on
Commit
1c0f3af
·
1 Parent(s): 0b015a2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -7
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("- 因数分解(Sympy)")
14
- st.sidebar.markdown("- 展開(Sympy)")
15
- st.sidebar.markdown("- 方程式(Sympy)")
16
- st.sidebar.markdown("- 連立方程式(Sympy)")
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}")