- Jul 2023
-
github.com github.com
-
```python from flask import Flask, request from collections import defaultdict import re import random
GREEN ="🟩" YELLOW ="🟨" WHITE ="⬜"
def get_answers(): with open("allowed_answers.txt") as f: answers = set(l for l in f.read().splitlines() if l) return answers
def get_guesses(): guesses = get_answers() with open("allowed_guesses.txt") as f: for l in f.read().splitlines(): if l: guesses.add(l) return guesses
app = Flask(name, static_folder="static") app.answers = get_answers() app.guesses = get_guesses() word = random.choice(list(app.answers)) print(f"The word is {word}")
def with_header(content): return f"""
<html> <head> <link rel="search" type="application/opensearchdescription+xml" title="searchGame" href="http://searchgame:5000/static/opensearch.xml" /> </head> <body> {content} </body></html>"""
@app.route("/") def home(): return with_header("
Right click on the address bar to install the search engine.
")@app.route("/search") def search(): return with_header(f"Content: {request.args.get('q')}")
def to_result(guess, answer): chars = [WHITE] * 5 count = defaultdict(int) for idx, (g, a) in enumerate(zip(guess, answer)): if g == a: chars[idx] = GREEN else: count[a] += 1
for idx, g in enumerate(guess): if g in count and count[g] > 0 and chars[idx] == WHITE: chars[idx] = YELLOW count[g] -= 1 return "".join(chars)
def maybe_error(guess): if len(guess) < 5: return f"less than 5 characters" if len(guess) > 5: return f"greater than 5 characters" if guess not in app.guesses: return f"not in wordlist" return None
@app.route("/game") def game(): query = request.args.get("q") guesses = [x for x in re.split("[. ]", query) if x] response = [] if not guesses: response.append("Enter 5-letter guesses separated by spaces") else: most_recent = guesses[-1] # Don't show "too short" error for most recent guess if len(most_recent) < 5: guesses = guesses[:-1] if not guesses: response.append("Enter a wordle guess") for guess in guesses[::-1]: error = maybe_error(guess) if error is None: result = to_result(guess, word) s = f"{guess} | {result}" if result == GREEN * 5: s = f"{s} | CORRECT!" response.append(s) else: response.append(f"{guess} | ERROR: {error}")
return [query, response]
```
-
- Jan 2022
-
english.elpais.com english.elpais.com
-
The inventor of the original English version, Welsh-born software engineer Josh Wardle, created it during the pandemic to entertain his partner – a word game addict, as he told The New York Times.
-
- Apr 2018
-
www.jstor.org.proxyau.wrlc.org www.jstor.org.proxyau.wrlc.org
-
Instead, it aims to teach students “what’s going on with [their] writing and how writing works” (Wardle and Downs 2011, 1).
-
My emphasis in this chapter on teaching students how to learnto read rather than arguing for a particular reading approach, such as rhetorical or close reading, is modeled on Elizabeth Wardle and Doug Downs’ theory that rather than teaching students “how to write,” which suggests that there is such a thing as good writing across all contexts, we should teach them “‘how to learn’ to write” (Wardle and Downs 2010, 21).
-