Мне нужно создать веб-приложение для проверки моей функции. На веб-сайте должен быть ввод, позволяющий нам вводить список слов и отправлять, а затем отображать полученный список с вхождениями, упорядоченными по частоте и в алфавитном порядке.
Моя функция, вычисляющая вхождение слова:
def word_occur(List):
dict_= dict()
L_prime = []
cpt = 0
for i in range(len(List)):
word_occ = List[i]
if word_occ not in L_prime:
for word in List:
if word_occ == word:
cpt += 1
dict_[List[i]] = cpt
L_prime.append(List[i])
cpt = 0
L_sort = sorted(dict_.items(),key = lambda x :(-x[1],x[0]))
return L_sort
Моя функция flask:
from flask import Flask, request
from word import word_occur
app = Flask(__name__)
app.config["DEBUG"] = True
@app.route('/',methods = ["GET","POST"])
def adder_page():
errors = ""
if request.method == "POST":
List = None
try:
List = request.form.getlist["List"]
except:
errors += "<p>{!r} is not a list.</p>\n".format(request.form["List"])
if List is not None:
result = word_occur(List)
return '''
<html>
<body>
<p>The result is {result}</p>
</body>
</html>
'''.format(result=result)
return'''
<html>
<body>
{errors}
<p>Enter your list of word:</p>
<form method="post" action=".">
<p><input name="List" /></p>
<p><input type="submit" value="Calculate the occurence"/></p>
</form>
</body>
</html>
'''.format(errors=errors)
Проблема в том, что моя веб-страница не принимает список такой элемент: L = ["apple", "juice", "banana"], поэтому я не могу отобразить вывод функции.
Спасибо за вашу помощь.