试卷征集
加入会员
操作视频

利用 Flask和 Sqlite模块,编写相应的 Python程序与网页代码,来模拟用户登录验证过程。功能是:运行 Python程序,启动浏览器并输入相应网址,在网页中输入用户名、密码,与数据库中的数据进行比对,若正确则在浏览器中显示成功信息,否则显示“用户名或密码错
误!”。存储用户名、密码的数据表中共有三个字段,依次表示序号、用户名、密码。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( (  )name (  ))
@app.jye.ai('/')
definput(  ):
returnrender_template('input.jye.ai')
@app.jye.ai('/deal_request',methods=['GET'])
defdeal_request(  ):
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=   ③#创建游标对象
cur.execute('select*fromusers')
data=cur.fetchall(  )
forrecindata:#比对用户名与密码
ifrec[1]==nameandrec[2]==psd:
returnTrue
else:
returnFalse
if(  )name(  )=='(  )main(  )':
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)要实现上述功能,完善划线②、③处代码。
(4)若本机IP地址为 192.168.0.1,若要使同网段内其他计算机可以访问上述服务,则需将加框处的IP地址改为
192.168.0.1
192.168.0.1

【答案】input.jye.ai;{[name]};192.168.0.1
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:3引用:1难度:0.3
相似题
  • 1.现有一个m*n的迷宫矩阵 maze(如图 a),矩阵中有空格子(用1表示,可通行)和墙(用0表示,不可通行);在迷宫中通行的每一步移动操作,你可以往上,下,左或者右方向移动一个格子(不能进入墙所在的格子)。
    你的目标是找到离entry(入口)最近的出口,并规划入口到出口的行走路径。(出口的含义是 maze边界上的空格子。entry格子不算出口)。如果不存在这样的路径,请你返回-1;如果有,则展示entry到出口的行走路径。
    程序在正常执行后,运行结果如图b所示:

    ●寻找最近出口位置的思路与算法:
    预设:0墙      1空格子      2已探索
    在广度优先搜索的过程中,我们在队列中保存[cx,cy,d]三元素列表,其中(cx,cy)为当前的行列坐标,d为当前坐标相对入口的距离(即需要移动的步数)。
    当我们遍历至(cx,cy)时,我们枚举它上下左右的相邻坐标(nx,ny)。此时可能有三种情况:
    ①(nx,ny)不属于迷宫坐标或为墙,此时无需进行任何操作;
    ②(nx,ny)为迷宫的出口(在迷宫边界且不为墙),此时应返回 nx,ny,d+1,即该出口的坐标以及相对入口的距离作为答案。
    ③(nx,ny)为空格子且不为出口,此时应将新坐标设置为已探索,并将其对应的三元素列表[nx,ny,d+1]加入队列。
    最终,如果不存在到达出口的路径,我们返回-1作为答案。
    1、若迷宫数据为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]],则最少移动步数为
     

    2、请将以下的程序代码,补充完整。

    发布:2025/1/2 10:30:2组卷:1引用:1难度:0.4
  • 2.又到植树的季节,大人和小孩共100个,需要种100棵树,每个大人每天能种3棵树,三个小孩每天能合种1棵树,大人小孩至少都有1位参加,问大人和小孩各有几个,正好一天完成这个任务?
    (1)大人和小孩个数最合理的范围是
     

    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)算法的初始化部分已在提供的程序中完成。请在指定区域内编写程序,完成题目要求的功能。完成VB程序的编写,输出符合条件的人数组合。(注意:程序编写正确才能得分)
    Dim a As Integer,b As Integer

    发布: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函数,逐行读取文本文件数据存入列表并返回。请在横线处填入合适的代码。
    def readfile(filename):
    f=open(filename,encoding=“utf-8“)#打开文件
    text=[]
    line=f.readline(  )#从文件中读取一行
    while line:
    text.jye.ai(line)#添加到列表
    line=f.readline(  )
    f.jye.ai(  )
    return    
    def writefile(filename,text):
    #将text写入filename文件,代码略
    (3)查找字符串,如下的findstr函数,在字符串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函数,在字符串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

    发布:2025/1/2 10:30:2组卷:0引用:2难度:0.3
深圳市菁优智慧教育股份有限公司
粤ICP备10006842号公网安备44030502001846号
©2010-2025 jyeoo.com 版权所有
APP开发者:深圳市菁优智慧教育股份有限公司| 应用名称:菁优网 | 应用版本:5.0.7 |隐私协议|第三方SDK|用户服务条款
广播电视节目制作经营许可证|出版物经营许可证|网站地图
本网部分资源来源于会员上传,除本网组织的资源外,版权归原作者所有,如有侵犯版权,请立刻和本网联系并提供证据,本网将在三个工作日内改正