当前位置: 高中信息技术 / 综合题
  • 1. (2022高二下·湖州期末) 小明基于Flask Web框架编写了“最喜欢诗人评选”的程序,“评选结果”页面如图a所示,“参加评选”页面如图b所示。评选规则:当推选的诗人已经存在时,将其热度值增加1;否则添加该诗人的记录,并将其热度值设为1。

    图a

    图b

    采用SQLite3设计数据库data.db,其中info表包括两个字段:

    段名

    数据类刑

    poet

    text

    heat

    integer

    1. (1) 根据题意,数据库“data.db”的“info”表中“poet”字段用于存放 (单选,填字母:A .诗人的姓名 / B .诗人的热度值)。
    2. (2) 实现上述功能的Python程序部分代码如下,请选择▲处的代码 (单选,填字母:A .CREATE TABLE info / B .INSERT INTO info / C .SELECT * FROM info)。

      @app.route('/')

      def view( ):

      #按热度值降序查询info表中记录,并渲染“view.htm”网页模板显示结果,代码略

      @app.route('  ①   ', methods=['GET','POST'])

      def selectpoet():

      if request.method=='POST':

      x=request.form['xm'] #获取图b所示文本框中输入的内容

      conn=sqlite3.connect('data.db')

      cur=conn.cursor()

      cur.execute("  ▲   where poet='%s'" %x) #查询当前诗人记录

      data=cur.fetchall()

      if data:        #当data非空时,则表示所推选的诗人已经存在,将其热度值增1 y=data[0][1]+1

        cur.execute("update info set heat=%d where poet='%s'" %(y,x))

      else:

        cur.execute("insert into info(poet,heat) values('%s',%d)" %(    ②    ))

        conn.commit( )

        cur.close( )

        conn.close( )

      return '评选成功!'

      else:

        return render_template('select.htm')

      if __name__=='__main__':

        app.run()

    3. (3) 请在划线处填入合适的代码。

微信扫码预览、分享更方便