Update app.py
Browse files
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 |
-
#
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
|
|
|
| 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):
|