OzoneAsai commited on
Commit
e323759
·
1 Parent(s): cc483b8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -12
app.py CHANGED
@@ -200,7 +200,7 @@ elif selected_function == "普通の記述式計算":
200
  # 問題生成
201
  # 問題生成
202
  elif selected_function == "問題生成":
203
- problem_option = st.radio("問題オプションを選択してください:", ["四則演算", "因数分解", "方程式"])
204
 
205
  if not problem_option:
206
  st.warning("少なくとも1つの問題オプションを選択してください。")
@@ -238,17 +238,18 @@ elif selected_function == "問題生成":
238
  generated_problems.append(result)
239
 
240
  # 方程式の問題生成
241
- elif problem_option == "方程式":
242
- # 例: (x + sqrt(5))*(x - sqrt(2)) = 0
243
- a = random.randint(min_value, max_value)
244
- b = random.randint(min_value, max_value)
245
- init_problem = f"(x + sqrt({abs(a)}))*(x+ sqrt({abs(b)})) = 0"
246
- expression = init_problem
247
- if expression:
248
- result = expand(expression)
249
- st.success(f"展開結果: {result}")
250
- st.latex(result)
251
- generated_problems.append(result)
 
252
 
253
  st.success("生成された問題:")
254
  for idx, problem in enumerate(generated_problems, start=1):
 
200
  # 問題生成
201
  # 問題生成
202
  elif selected_function == "問題生成":
203
+ problem_option = st.radio("問題オプションを選択してください:", ["四則演算", "因数分解", "方程式","ヘロンの公式"])
204
 
205
  if not problem_option:
206
  st.warning("少なくとも1つの問題オプションを選択してください。")
 
238
  generated_problems.append(result)
239
 
240
  # 方程式の問題生成
241
+ elif problem_option == "ヘロンの公式":
242
+ # 一辺の長さが2の倍数になる正三角形
243
+ st.caption("負の数を乱数に入れても意味はないですよ...")
244
+ side_length = random.randint(abs(min_value), abs(max_value)) * 2
245
+ # ヘロンの公式: s = (a + b + c) / 2
246
+ s = side_length * 3 / 2
247
+ # 三角形の面積
248
+ area = math.sqrt(s * (s - side_length) ** 3)
249
+ problem = f"一辺の長さが{side_length}の正三角形の面積"
250
+ generated_problems.append(problem)
251
+ st.success(f"問題: {problem}")
252
+ st.markdown(f"面積 = ${area}$")
253
 
254
  st.success("生成された問題:")
255
  for idx, problem in enumerate(generated_problems, start=1):