smf2010 commited on
Commit
2615c4a
1 Parent(s): dca0aa9

Upload 3 files

Browse files
Files changed (3) hide show
  1. a.txt +1 -0
  2. main.py +19 -5
  3. templates/index.html +13 -5
a.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ 234
main.py CHANGED
@@ -1,6 +1,7 @@
1
  import sympy
2
  from flask import Flask, render_template, request
3
  import re
 
4
 
5
  app = Flask(__name__)
6
 
@@ -10,9 +11,23 @@ def home():
10
  return render_template('index.html')
11
 
12
 
13
- @app.route('/factorize', methods=['POST'])
14
  def factorize():
15
- expression = request.form.get('expression')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  if re.match(r'^[a-zA-Z0-9+\-*/()]+$', expression):
17
  expression = re.sub(r'([A-Za-z])([A-Za-z])', r'\1*\2', expression)
18
  expression = re.sub(r'([0-9])([A-Za-z])', r'\1*\2', expression)
@@ -26,12 +41,11 @@ def factorize():
26
  symbol_dict = dict(zip(variables, symbols))
27
  expr = sympy.sympify(expression, locals=symbol_dict)
28
  factors = sympy.factor(expr)
29
- result = factors
30
  return render_template('index.html', result=result)
31
  except Exception:
32
  error_message = "*表示乘法,**表示乘方,括号统一使用小括号,数字与字母中间(或字母与字母中间)的乘号可以省略。"
33
  return render_template('index.html', error=error_message)
34
 
35
-
36
  if __name__ == '__main__':
37
- app.run(host='0.0.0.0', port=7860)
 
1
  import sympy
2
  from flask import Flask, render_template, request
3
  import re
4
+ from sympy import latex
5
 
6
  app = Flask(__name__)
7
 
 
11
  return render_template('index.html')
12
 
13
 
14
+ @app.route('/factorize', methods=['GET'])
15
  def factorize():
16
+ # 读取文件
17
+ with open('a.txt', 'r') as file:
18
+ lines = file.readlines()
19
+
20
+
21
+ # 加1并写回文件
22
+ with open('a.txt', 'w') as file:
23
+ for line in lines:
24
+ try:
25
+ num = int(line.strip()) + 1 # 转换为整数并加1
26
+ file.write(str(num) + '\n') # 写回文件
27
+ except ValueError: # 忽略无法转换为整数的行
28
+ file.write(line)
29
+ expression = request.args.get('expression')
30
+ print(expression)
31
  if re.match(r'^[a-zA-Z0-9+\-*/()]+$', expression):
32
  expression = re.sub(r'([A-Za-z])([A-Za-z])', r'\1*\2', expression)
33
  expression = re.sub(r'([0-9])([A-Za-z])', r'\1*\2', expression)
 
41
  symbol_dict = dict(zip(variables, symbols))
42
  expr = sympy.sympify(expression, locals=symbol_dict)
43
  factors = sympy.factor(expr)
44
+ result = latex(factors)
45
  return render_template('index.html', result=result)
46
  except Exception:
47
  error_message = "*表示乘法,**表示乘方,括号统一使用小括号,数字与字母中间(或字母与字母中间)的乘号可以省略。"
48
  return render_template('index.html', error=error_message)
49
 
 
50
  if __name__ == '__main__':
51
+ app.run(host='0.0.0.0', port=5001)
templates/index.html CHANGED
@@ -2,14 +2,16 @@
2
  <html lang="en">
3
  <head>
4
  <meta charset="UTF-8">
 
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <title>因式分解</title>
7
- <link rel="stylesheet" type="text/css" href="https://math.lightsdark.com/style-project.css">
8
  </head>
 
9
  <body>
10
  <div class="container">
11
  <h1>因式分解</h1>
12
- <form method="POST" action="/factorize">
13
  <input type="text" name="expression" placeholder="请输入一个代数式" required>
14
  <button type="submit">因式分解</button>
15
  </form>
@@ -18,7 +20,10 @@
18
  <div class="result-container">
19
  <div class="result">
20
  <h2>因式分解结果:</h2>
21
- <p>{{ result }}</p>
 
 
 
22
  </div>
23
  </div>
24
  {% endif %}
@@ -35,7 +40,10 @@
35
  <p><a href=https://smf.lanzout.com/iOtyY13ixk9a>下载移动端</a>密码:bizt</p>
36
  <div class="button-container">
37
  <button onclick="openAbout()">关于</button>
38
- <button onclick="openUse()">使用说明</button>
 
 
 
39
  </div>
40
  </div>
41
 
@@ -57,7 +65,7 @@
57
  <p>*表示乘法,**表示乘方,括号统一使用小括号,数字与字母中间(或字母与字母中间)的乘号可以省略。</p>
58
  <p>开根号使用sqrt(),三次根式使用cbrt(),更多函数请查看python官方文档</p>
59
  <p>如果还有任何问题,请点击按钮联系我们。</p>
60
- <a href="mailto:sh_szh2010@outlook.oom">
61
  <button>点击这里</button>
62
  </a>
63
  <p>注:为了以防家长吐槽,我们将原来的二次元壁纸换成了必应每日更新壁纸。</p>
 
2
  <html lang="en">
3
  <head>
4
  <meta charset="UTF-8">
5
+ <meta http-equiv="Cache-Control" content="max-age=36000">
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
  <title>因式分解</title>
8
+ <link rel="stylesheet" type="text/css" href="https://lightsdark.com/style-project.css">
9
  </head>
10
+ <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
11
  <body>
12
  <div class="container">
13
  <h1>因式分解</h1>
14
+ <form method="GET" action="/factorize">
15
  <input type="text" name="expression" placeholder="请输入一个代数式" required>
16
  <button type="submit">因式分解</button>
17
  </form>
 
20
  <div class="result-container">
21
  <div class="result">
22
  <h2>因式分解结果:</h2>
23
+ <p>$$ {{ result|safe }} $$</p>
24
+ <script type="text/javascript">
25
+ MathJax.Hub.Queue(["Typeset", MathJax.Hub, "{{ result|safe }}"]);
26
+ </script>
27
  </div>
28
  </div>
29
  {% endif %}
 
40
  <p><a href=https://smf.lanzout.com/iOtyY13ixk9a>下载移动端</a>密码:bizt</p>
41
  <div class="button-container">
42
  <button onclick="openAbout()">关于</button>
43
+ <!-- <button onclick="openUse()">使用说明</button> -->
44
+ <a href="https://sway.office.com/EMKfxo4iLHzBaa6A?ref=Link">
45
+ <button>使用说明</button>
46
+ </a>
47
  </div>
48
  </div>
49
 
 
65
  <p>*表示乘法,**表示乘方,括号统一使用小括号,数字与字母中间(或字母与字母中间)的乘号可以省略。</p>
66
  <p>开根号使用sqrt(),三次根式使用cbrt(),更多函数请查看python官方文档</p>
67
  <p>如果还有任何问题,请点击按钮联系我们。</p>
68
+ <a href="mailto:sh_szh2010@outlook.com">
69
  <button>点击这里</button>
70
  </a>
71
  <p>注:为了以防家长吐槽,我们将原来的二次元壁纸换成了必应每日更新壁纸。</p>