Sprawdzenie kodu pocztowego

0

Jestem na poczatku drogi jesli chodzi o pythona. Ponizej wkleilem tresc zadania, ktore mam do zrobienia. Udalo mi sie zrobic tylko tyle:
@app.route("/",methods=["GET","POST"])
def kod():
komunikat="Podaj kod pocztowy"
form=""" <form method="POST">
<input type="number" name="code">
<input type="submit" value="sprawdz">
</form>
"""
kod=request.form.get("code")

if kod is not None:

I nie wiem co dalej. Bo format ma byc 00-001 ale jak zadeklarowac ten myślnik? i jak polaczyc to w calosc by stworzyć jeden parametr "code"?

Napisz aplikację Flaska, która poprosi użytkownika o wpisanie kodu pocztowego (na akcji GET "/"), a potem (na akcji POST "/") wyświetli informację:

  • Kod poprawny, jeżeli kod jest w poprawnym polskim formacie (00-001).
  • Kod niepoprawny, w przeciwnym wypadku

Kod wysyłaj jako parametr code.

1

Poczytaj o wyrażeniach regularnych (ang. regex).
To co chcesz osiągnąć, to najpierw sprawdź czy dwa pierwsze znaki są cyframi, później czy trzeci znak jest myślnikiem, a następnie, czy znaki 4-6 są również cyframi. Później będziesz mógł się pobawić zakresami, chyba że w warunkach zadania coś typu 99-999 jest poprawnym kodem.

0
    import re
    if re.match("^\d\d-\d\d\d$", code):
        print ("kod poprawny")
    else:
        print("nieporawny")
0
lion137 napisał(a):
    import re
    if re.match("^\d\d-\d\d\d$", code):
        print ("kod poprawny")
    else:
        print("nieporawny")
0

Mam jeszcze pytanie do zadania gdzie mam pobrać od użytkownika polecenie „ /„ metoda get i wyslac na ten sam adres formularz metoda „Post”. Wyskakuje mi błąd. Może ktoś spojrzeć ?

from flask import Flask
from flask import request
import math
@app.route("/",methods=["GET","POST"])
@app.route("/",methods=["GET","POST"])
def operacja():
komunikat="Wpisz liczbę naturalna"
form=""" <form method="POST">
<input type="number" name="n">
<input type="submit" value="wyslij">
</form>
"""

n = request.form.get('n')
wynik1=""
wynik2=""
wynik3=""
if n is not None:
    try:
     n=int(n)
    except ValueError:
        return str(False)
    wynik1 = str(pow(2,n))
    wynik2 = str(pow(n,n))
    wynik3 =str(math.factorial(n))
return f"{komunikat}<br>{form}2^n:{wynik1}<br>n^n:{wynik2}<br> n!:{wynik3}"

if name =='main':
app.run()

1 użytkowników online, w tym zalogowanych: 0, gości: 1