栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python习题10与13

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python习题10与13

习题10

1.能得到执行,无论如何finally语句块中的语句都会执行的。
try语句块执行完成后,finally语句块是一定会执行的。
2.try中有return, 会先将值暂存,无论finally语句中对该值做什么处理,最终返回的都是try语句中的暂存值。
当try与finally语句中均有return语句,会忽略try中return。
代码测试:

def test_finally_return1():
    try:
        print("This is 1")
        return 1
    finally:
        print("This is 0")
        return 0


def test_finally_return2():
    try:
        print("This is 1")
        return 1
    finally:
        print("This is 0")
        #return 0


def test_else_finally1():
    try:
        print("This is 1")
        return 1
    except:
        return 2
    else:
        print("This is 3")
        return 3
    finally:
        print("This is 0")
        #return 0

def test_else_finally2():
    try:
        print("This is 1")
        return 1
    except:
        return 2
    else:
        print("This is 3")
        #return 3
    finally:
        print("This is 0")
        return 0


def test_else_finally3():
    try:
        print("This is 1")
        #return 1
    except:
        print("This is 2")
        #return 2
    else:
        print("This is 3")
        #return 3
    finally:
        print("This is 0")
        return 0

def test_else_return1():
    try:
        print("This is 1")
        return 1
    except:
        return 2
    else:
        print("This is 3")
        return 3
    # finally:
    #     print(0)
        #return 0

def test_else_return2():
    try:
        print("This is 1")
        #return 1
    except:
        return 2
    else:
        print("This is 3")
        return 3
    # finally:
    #     print(0)
        #return 0


if __name__ == '__main__':
    print('测试1')
    print(test_finally_return1())
    print('测试2')
    print(test_finally_return2())
    print('测试3')
    print(test_else_finally1())
    print('测试4')
    print(test_else_finally2())
    print('测试5')
    print(test_else_return1())
    print('测试6')
    print(test_else_return2())
    print('测试7')
    print(test_else_finally3())

习题13

1.创建数据表

# coding=utf-8
import sqlite3
conn = sqlite3.connect('Shift_MIS.db')
cur = conn.cursor()
cur.execute("PRAGMA foreign_keys=ON")
# 构建数据表创建及文本数据导入函数
def create_table(tab_name, col_prop_list, txt_path, conn=conn, cur=cur):
    col_name_props = ','.join(col_prop_list)
    cur.execute('CREATE TABLE IF NOT EXISTS %s(%s)'%(tab_name,col_name_props))
    f = open(txt_path,'r')
    for x in f:
        x = x.rstrip().split(',')
        a = [ "'%s'" % x[i]  for i in range(len(x))]
        x = ','.join(a)
        cur.execute('INSERT INTO %s values(%s)'%(tab_name,x))
    f.close()
    print('%s创建成功' % tab_name)
    print('    %s导入成功' % txt_path)
    conn.commit()

def table_struct(tab_name, cur=cur):
    cur.execute("PRAGMA table_info(%s)" % tab_name)
    t_struct = cur.fetchall()
    for item in t_struct:
        for x in item:
            x = str(x)
            print(x, sep='t', end=' ')
        print()

# 构建数据表内容查询函数
def table_quer(tab_name, col_names='*', num_line=None, cur=cur):
    cur.execute('select %s from %s' % (col_names, tab_name))
    Li = cur.fetchall()
    for line in Li[:num_line]:
        for item in line:
            print(item, sep='t', end=' ')
        print()

if __name__ == '__main__':
    #(1)创建专业表
    tab_name_1 = '专业表'
    col_prop_list_1 = ['专业编号 varchar(7) primary key',
                               '专业名称 varchar(7)']
    txt_path_1 ='专业表.txt'
    create_table(tab_name_1,col_prop_list_1,txt_path_1)
    #(2)创建学生表
    tab_name_2 = '学生表'
    col_prop_list_2 = ['学号 varchar(7) primary key',
                                '姓名 varchar(7)',
                                '性别 tinyint',
                                '生日 text NULL',
                                '专业编号 varchar(7) REFERENCES 专业表(专业编号) ON UPDATe CASCADE ON DELETE CASCADE',
                                '奖学金 numeric NULL',
                                '党员 tinyint NULL',
                                '照片 blob NULL',
                                '备注 text NULL']
    txt_path_2 = '学生表.txt'
    create_table(tab_name_2, col_prop_list_2, txt_path_2)
 # (3) 创建课程表
    tab_name_3 = '课程表'
    col_prop_list_3 = ['课程号 varchar(7) primary key',
                                '课程名称 varchar(7) NULL',
                                '先修课程代码 varchar(7) NULL',
                                '学时 smallint', '学分 smallint']
    txt_path_3 = '课程表.txt'
    create_table(tab_name_3, col_prop_list_3, txt_path_3)


    #  (4)创建成绩表
    tab_name_4 = '成绩表'
    col_prop_list_4 = ['学号 varchar(7) REFERENCES 学生表(学号) ON UPDATE CASCADE ON DELETE CASCADE',
                               '课程号 varchar(7) REFERENCES 课程表(课程号) ON UPDATE CASCADE ON DELETE CASCADE',
                               '成绩 smallint NULL',
                               'PRIMARY KEY (学号,课程号)']
    txt_path_4 = '成绩表.txt'
    create_table(tab_name_4, col_prop_list_4, txt_path_4)


执行后:


1.
代码:

import sqlite3
conn = sqlite3.connect('Shift_MIS.db')
cur = conn.cursor()


cur.execute("INSERT INTO stu('学号','姓名','性别','生日','专业编号','奖学金','党员','照片','备注') "
         "values('1234556','小明','男','1979/1/12 0:00:00',13,0,0,0,0)")
#cur.execute("UPDATE 成绩表 set 成绩=80 where 学号='0307341' and 课程号='03'")
conn.commit()

代码:

import sqlite3
conn = sqlite3.connect('Shift_MIS.db')
cur = conn.cursor()


#cur.execute("INSERT INTO stu('学号','姓名','性别','生日','专业编号','奖学金','党员','照片','备注') "
   #         "values('1234556','小明','男','1979/1/12 0:00:00',13,0,0,0,0)")
cur.execute("UPDATE 成绩表 set 成绩=80 where 学号='0307341' and 课程号='03'")
conn.commit()


3.代码:

import sqlite3
conn = sqlite3.connect('Shift_MIS.db')
cur = conn.cursor()


#cur.execute("INSERT INTO stu('学号','姓名','性别','生日','专业编号','奖学金','党员','照片','备注') "
 #        "values('1234556','小明','男','1979/1/12 0:00:00',13,0,0,0,0)")
#cur.execute("UPDATE 成绩表 set 成绩=80 where 学号='0307341' and 课程号='03'")

cur.execute("delete from stu where 学号='0502313'")
conn.commit()

执行:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/656391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号