試卷征集
加入會員
操作視頻

利用 Flask和 Sqlite模塊,編寫相應的 Python程序與網頁代碼,來模擬用戶登錄驗證過程。功能是:運行 Python程序,啟動瀏覽器并輸入相應網址,在網頁中輸入用戶名、密碼,與數(shù)據(jù)庫中的數(shù)據(jù)進行比對,若正確則在瀏覽器中顯示成功信息,否則顯示“用戶名或密碼錯
誤!”。存儲用戶名、密碼的數(shù)據(jù)表中共有三個字段,依次表示序號、用戶名、密碼。input.jye.ai網頁與 success.html網頁內容如下:
<html><head><title>輸入賬號密碼</title></head><body>
<formaction=“/deal_request“method=“get“>
請輸入賬號:<inputtype=“text“name=“usr“><br>
請輸入密碼:<inputtype=“password“name=“psd“><br><inputtype=“submit“value=“提交“/>
</form>
</body></html>
<html><head><title>Welcome</title></head>
<body>
<h1>登錄成功?。?h1><br>
<h1>歡迎你:</h1><br>
</body></html>
編寫的 Python程序如下:
fromflaskimportFlask,render_template,request
importsqlite3
=Flask( ( ?。﹏ame ( ?。?br />@app.jye.ai('/')
definput( ?。?br />returnrender_template('input.jye.ai')
@app.jye.ai('/deal_request',methods=['GET'])
defdeal_request( ?。?br />get_usr=request.args.jye.ai('usr')
get_psd=request.args.jye.ai('psd')
ifcheck(get_usr,get_psd):
returnrender_template('succes.jye.ai',name=get_usr)
else:
return'用戶名或密碼錯誤!'
defcheck(name,psd):
db=sqlite3.connect('login.jye.ai')
cur=   ③#創(chuàng)建游標對象
cur.execute('select*fromusers')
data=cur.fetchall( ?。?br />forrecindata:#比對用戶名與密碼
ifrec[1]==nameandrec[2]==psd:
returnTrue
else:
returnFalse
if( ?。﹏ame(  )=='( ?。﹎ain(  )':
app.jye.ai(host='127.0.0.1',port=5000,debug=False)
請完成下列題目:
(1)在瀏覽器中輸入地址:http://127.0.0.1:5000,則訪問的網頁是
input.jye.ai
input.jye.ai

(2)若登錄成功后,在瀏覽器中文字“歡迎你:”的后面顯示當前用戶名,則劃線①處的代碼是
{[name]}
{[name]}
。
(3)要實現(xiàn)上述功能,完善劃線②、③處代碼。
(4)若本機IP地址為 192.168.0.1,若要使同網段內其他計算機可以訪問上述服務,則需將加框處的IP地址改為
192.168.0.1
192.168.0.1
。

【答案】input.jye.ai;{[name]};192.168.0.1
【解答】
【點評】
聲明:本試題解析著作權屬菁優(yōu)網所有,未經書面同意,不得復制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:3引用:1難度:0.3
相似題
  • 1.現(xiàn)有一個m*n的迷宮矩陣 maze(如圖 a),矩陣中有空格子(用1表示,可通行)和墻(用0表示,不可通行);在迷宮中通行的每一步移動操作,你可以往上,下,左或者右方向移動一個格子(不能進入墻所在的格子)。
    你的目標是找到離entry(入口)最近的出口,并規(guī)劃入口到出口的行走路徑。(出口的含義是 maze邊界上的空格子。entry格子不算出口)。如果不存在這樣的路徑,請你返回-1;如果有,則展示entry到出口的行走路徑。
    程序在正常執(zhí)行后,運行結果如圖b所示:
    菁優(yōu)網
    ●尋找最近出口位置的思路與算法:
    預設:0墻      1空格子      2已探索
    在廣度優(yōu)先搜索的過程中,我們在隊列中保存[cx,cy,d]三元素列表,其中(cx,cy)為當前的行列坐標,d為當前坐標相對入口的距離(即需要移動的步數(shù))。
    當我們遍歷至(cx,cy)時,我們枚舉它上下左右的相鄰坐標(nx,ny)。此時可能有三種情況:
    ①(nx,ny)不屬于迷宮坐標或為墻,此時無需進行任何操作;
    ②(nx,ny)為迷宮的出口(在迷宮邊界且不為墻),此時應返回 nx,ny,d+1,即該出口的坐標以及相對入口的距離作為答案。
    ③(nx,ny)為空格子且不為出口,此時應將新坐標設置為已探索,并將其對應的三元素列表[nx,ny,d+1]加入隊列。
    最終,如果不存在到達出口的路徑,我們返回-1作為答案。
    1、若迷宮數(shù)據(jù)為maze=[[0,0,0,0,0],[1,1,1,1,0],[0,1,0,1,1],[0,1,1,1,0],[0,0,0,0,0]],則最少移動步數(shù)為
     
    。
    2、請將以下的程序代碼,補充完整。
    菁優(yōu)網
    菁優(yōu)網

    發(fā)布:2025/1/2 10:30:2組卷:1引用:1難度:0.4
  • 2.又到植樹的季節(jié),大人和小孩共100個,需要種100棵樹,每個大人每天能種3棵樹,三個小孩每天能合種1棵樹,大人小孩至少都有1位參加,問大人和小孩各有幾個,正好一天完成這個任務?
    (1)大人和小孩個數(shù)最合理的范圍是
     
    。
    A.大人:5到33,小孩:1到99
    B.大人:1到33,小孩:1到291
    C.大人:1到33,小孩:3到99
    D.大人:1到33,小孩:3到291
    (2)設大人為a,小孩為b,匹配這個需求的條件是
     
    。
    A.a*3+b/3=100 and a+b=100
    B.a*3+b/3=100 or  a+b=100
    C.a/3+b*3=100 and a+b=100
    D.a/+b*3=100 or  a+b=100
    (3)算法的初始化部分已在提供的程序中完成。請在指定區(qū)域內編寫程序,完成題目要求的功能。完成VB程序的編寫,輸出符合條件的人數(shù)組合。(注意:程序編寫正確才能得分)
    Dim a As Integer,b As Integer

    發(fā)布:2025/1/2 11:30:1組卷:1引用:1難度:0.3
  • 3.查找與替換。從鍵盤上分別輸入要查找和替換的字符串,對文本文件進行查找與替換,替換后保存到新的文本文件中。完成查找與替換功能的思路是:首先可從待檢索文本文件“in.jye.ai”逐行讀取文本內容到列表text,然后從鍵盤上輸入查找的字符串key和替換的字符串new,對列表text中的元素逐個進行查找并替換,結果保存到列表result,最后將result 寫入文件“out.jye.ai”。
    (1)主程序。
    text=readfile(“in.jye.ai“)#讀入文件
    key=input(“請輸入要查找的字符串:“)
    new=input(“請輸入要替換的字符串:“)
    result=[]
    for line in text:
    newline=replace(key,new,line)#替換
    result.append(newline)#添加到列表
    writefile(“out.jye.ai“,result)#寫入文件
    該程序段采用的算法是
     
    (單選,填字母:A.解析算法/B.枚舉算法)。
    (2)讀寫文本文件,如下的readfile函數(shù),逐行讀取文本文件數(shù)據(jù)存入列表并返回。請在橫線處填入合適的代碼。
    def readfile(filename):
    f=open(filename,encoding=“utf-8“)#打開文件
    text=[]
    line=f.readline( ?。?從文件中讀取一行
    while line:
    text.jye.ai(line)#添加到列表
    line=f.readline( ?。?br />f.jye.ai( ?。?br />return    
    def writefile(filename,text):
    #將text寫入filename文件,代碼略
    (3)查找字符串,如下的findstr函數(shù),在字符串line中從begin位置開始查找key在字符串line中的位置,請在橫線處填入合適的代碼。
    def findstr(key,line,begin):
    for i in range(begin,len(line)-len(key)+1):
    if         
    return i
    return-1
    (4)替換字符串。如下的replace函數(shù),在字符串line中檢索所有的字符串key并替換為new,請在橫線處填入合適的代碼。
    def replace(key,new,line):
    begin=0
    while begin<len(line)-len(key)+1:
    pos=findstr(key,line,begin)
    if pos==-1:
              
    else:
    line=line[0:pos]+new+line[pos+len(key):len(line)]
    begin=pos+len(key)
    return line

    發(fā)布:2025/1/2 10:30:2組卷:0引用:2難度:0.3
小程序二維碼
把好題分享給你的好友吧~~
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應用名稱:菁優(yōu)網 | 應用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務條款
本網部分資源來源于會員上傳,除本網組織的資源外,版權歸原作者所有,如有侵犯版權,請立刻和本網聯(lián)系并提供證據(jù),本網將在三個工作日內改正