forked from p46318075/CodePattern
parent
df34765748
commit
6595ba1cdc
@ -0,0 +1 @@
|
||||
交互/MVC/flask/__pycache__/models.cpython-38.pyc
|
@ -0,0 +1,19 @@
|
||||
from flask import Flask, render_template, request
|
||||
from models import WordFrequencyModel
|
||||
|
||||
app = Flask(__name__)
|
||||
app.config['SECRET_KEY'] = 'your-secret-key'
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return render_template('index.html')
|
||||
|
||||
@app.route('/count', methods=['POST'])
|
||||
def count_words():
|
||||
text = request.form.get('text', '').lower()
|
||||
model = WordFrequencyModel()
|
||||
top_words = model.get_top_n_words(text, 10)
|
||||
return render_template('index.html', top_words=top_words)
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(debug=True)
|
@ -0,0 +1,9 @@
|
||||
import re
|
||||
from collections import Counter
|
||||
|
||||
class WordFrequencyModel:
|
||||
def get_top_n_words(self, text, top_n=10):
|
||||
words = re.findall(r'\b\w+\b', text)
|
||||
word_counts = Counter(words)
|
||||
return word_counts.most_common(top_n)
|
||||
|
@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Word Frequency Counter</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Word Frequency Counter</h1>
|
||||
<form action="/count" method="post">
|
||||
<textarea name="text" rows="10" cols="50"></textarea><br>
|
||||
<input type="submit" value="Count Words">
|
||||
</form>
|
||||
{% if top_words %}
|
||||
<h2>Top 10 Most Common Words:</h2>
|
||||
<ul>
|
||||
{% for word, count in top_words %}
|
||||
<li>{{ word }}: {{ count }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in new issue