Python实验报告五 python基础试题练习

这篇具有很好参考价值的文章主要介绍了Python实验报告五 python基础试题练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文件

一、实验目的与要求

1、掌握文件的打开和关闭的方法。

2、掌握文本文件和二进制文件文件的不同操作,如读写、重命名、删除。

3、掌握os与os.path模块文件和文件夹的操作

二、题目

1 编写程序,创建文件data.txt,共100行,第n行存放[100*(n-1), 100*n)之间的素数。

2 批量生成50个人的随机信息,包括姓名,性别、年龄和成绩等。

1)把生成的信息写入csv文件info.csv。

2)读取info.csv文件,将每一个不及格(成绩小于60)的同学信息存放在以该同学姓名命名的文件中,这些文件使用dat作为扩展名。

3 编写程序,显示当前程序的工作路径,并展示"C:\Windows\System32"下所有的空文件夹。

异常

一、实验目的与要求

1、理解异常的概念,掌握Python中重要的内建异常类以及处理异常的几种方式。

2、掌握raise和assert语句,会抛出自定义的异常,掌握with和as环境安装器的使用。

二、题目

1 自己定义一个异常类,继承Exception类, 捕获下面的过程:判断input()输入的字符串长度是否小于5,如果小于5,比如输入长度为3则输出:"The input is of length 3, expecting at least 5“,大于5则输出"success”。 

2 编写程序,要求从键盘输入三个数字(整形或者浮点型),判断这三个数字是否能构成一个三角形。如果可以构成一个三角形,则计算三角形的周长。

1)自定义异常类IllegalArgumentException,对应异常信息为:“a,b,c不能构成三角形”

2)自定义异常类IllegalArgLenException,对应异常信息为:“参数个数不正确”

3)确保键盘输入的是三个值,如果输入值不为3,则抛出IllegalArgLenException异常。

4)确保输入是数字类型,否则抛出类型错误异常。

5)如果输入的三个数不能构成三角形则抛出IllegalArgumentException异常.如果可以构成则显示三角形三个边长,并计算并打印它的周长。

6)不管是否发生异常,程序都会在处理完毕后显示"程序运行结束"。

3 录入一个学生的成绩,把该学生的成绩转换为A优秀、B良好、C合格、D不及格的形式,最后将该学生的成绩打印出来。要求使用assert断言处理分数不合理(小于0或者大于100)的情况,请编写程序。

文件

一:

# 编写程序,创建文件data.txt,共100行,第n行存放[100*(n-1), 100*n)之间的素数。
import math


def main1():
    f = open('a.txt', 'w', encoding="utf8")
    for n in range(1, 101):
        for i in range(100 * (n - 1) + 1, 100 * n + 1):
            flag = True
            for x in range(2, int(math.sqrt(i)) + 1):
                if i % x == 0:
                    flag = False
                    break
            if flag and i != 1:
                f.write("{} ".format(i))
        f.write("\n")
    print("文件创建成功")
    f.close()


main1()

Python实验报告五 python基础试题练习

二:

 文章来源地址https://www.toymoban.com/news/detail-456201.html

# 批量生成50个人的随机信息,包括姓名,性别、年龄和成绩等。
#
# 1)把生成的信息写入csv文件info.csv。
#
# 2)读取info.csv文件,将每一个不及格(成绩小于60)的同学信息存放在以该同学姓名命名的文件中,这些文件使用dat作为扩展名。
import pickle
import random
# 导入CSV模块
import csv


def main2():
    # 姓氏
    firs_name = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王', '冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨', '朱', '秦', '尤', '许',
                 '汪', '王', '张', '陈', '郭', '费', '萨']
    # 男孩名字
    second_name_boy = ['壮', '昱杰', '开虎', '凯信', '永斌', '方洲', '长发', '可人', '天弘', '炫锐', '富明', '俊枫',
                       '伟', '刚', '勇', '毅', '俊峰', '强军', '平保', '东文', '辉', '力明', '永健', '世广', '志义', '兴良', '宁', '福生', '龙',
                       '国胜', '学祥', '利', '彬富', '顺信', '杰', '星光', '天达', '彪', '心', '邦', '承乐']
    # 女孩名字
    second_name_girl = ['小玉', '蓝', '琬郡', '琛青', '予舴', '妙妙', '梓茵', '海蓉', '语娜', '馨琦', '晓馥', '佳翊', '秀',
                        '娟', '英', '华', '慧', '巧美', '娜', '静', '淑', '惠珠', '翠雅', '芝玉', '萍', '红娥', '玲', '芬芳', '燕',
                        '彩春', '菊兰', '凤洁', '梅琳', '素云', '莲', '环雪', '荣爱']

    all_gender = ['男', '女']
    f = open("file.csv", "w", encoding="utf8", newline='')

    csv_writer = csv.writer(f)

    csv_writer.writerow(["姓名", "性别", "年纪", '成绩'])

    for i in range(50):
        a_1 = firs_name[random.randint(0, len(firs_name) - 1)]
        a_2 = ''
        b = all_gender[random.randint(0, 1)]
        c = str(random.randint(1, 80))
        d = str(random.randint(1, 100))
        if b == '男':
            a_2 = second_name_boy[random.randint(0, len(second_name_boy) - 1)]
        else:
            a_2 = second_name_girl[random.randint(0, len(second_name_girl) - 1)]
        csv_writer.writerow([a_1 + a_2, b, c, d])
    print("-----------------------写入数据成功-----------------------")
    f.close()

    f2 = open("file.csv", "r", encoding="utf8")
    csv_read = csv.reader(f2)
    next(csv_read)
    for row in csv_read:
       if int(row[3]) < 60:
           f = open('a/' + row[0] + '.dat', "wb")
           pickle.dump(row, f)
           f.close()
    print("----------------------不及格学生信息文件创建完毕----- -------")


print("------------------实验二--------------------")
main2()

Python实验报告五 python基础试题练习

三:

# 编写程序,显示当前程序的工作路径,并展示"C:\Windows\System32"下所有的空文件夹。
# os模块是Python中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。
import os


def main3():
    for (dirname, sub_dirs, files) in os.walk(r'D:\Pycharm-community\pycharm\python-files'):
        for name in sub_dirs:
            if os.path.isdir(os.path.join(dirname, name)) and not os.listdir(os.path.join(dirname, name)):
                print(os.path.join(dirname, name))


print("------------------实验三--------------------")
main3()

Python实验报告五 python基础试题练习

 异常

一:

# 自己定义一个异常类,继承Exception类, 捕获下面的过程:判断input()输入的字符串长度是否小于5,
#
# 如果小于5,比如输入长度为3则输出:"The input is of length 3, expecting at least 5“,大于5则输出"success”。

class LengthError(Exception):
    def __init__(self, data):
        Exception.__init__(self, data)
        self.data = data

    def __str__(self):
        return "The input is of length {}, expecting at least 5".format(self.data)


def main4():
    x = input("请输入字符串:")
    if len(x) < 5:
        raise LengthError(len(x))
    else:
        print("success")


print("------------------实验四--------------------")
main4()

Python实验报告五 python基础试题练习

 二:

#  编写程序,要求从键盘输入三个数字(整形或者浮点型),判断这三个数字是否能构成一个三角形。如果可以构成一个三角形,则计算三角形的周长。
#
# 	1)自定义异常类IllegalArgumentException,对应异常信息为:“a,b,c不能构成三角形”
#
# 	2)自定义异常类IllegalArgLenException,对应异常信息为:“参数个数不正确”
#
# 	3)确保键盘输入的是三个值,如果输入值不为3,则抛出IllegalArgLenException异常。
#
# 	4)确保输入是数字类型,否则抛出类型错误异常。
#
# 	5)如果输入的三个数不能构成三角形则抛出IllegalArgumentException异常.如果可以构成则显示三角形三个边长,并计算并打印它的周长。
#
# 	6)不管是否发生异常,程序都会在处理完毕后显示"程序运行结束"。

class IllegalArgLenException(Exception):
    def __init__(self, data):
        Exception.__init__(self, data)
        self.data = data

    def __str__(self):
        return "{} not is three".format(self.data)


class IllegalArgumentException(Exception):
    def __init__(self, data):
        Exception.__init__(self, data)
        self.data = data

    def __str__(self):
        return "{}这三个数不能构成三角形".format(self.data)


def main5():
    lis = input("请输入三个数:").split(" ")
    try:
        if len(lis) != 3:
            raise IllegalArgLenException(len(lis))
        lis2 = [float(lis[0]), float(lis[1]), float(lis[2])]
        if lis2[0] < 0 or lis2[1] <= 0 or lis2[2] <= 0 or \
                lis2[0] + lis2[0] <= lis2[1] or lis2[1] + lis2[2] <= lis2[0] or lis2[0] + lis2[2] <= lis2[1]:
            raise IllegalArgumentException(lis2)
        else:
            print("三角形的周长为:{}".format(lis2[0] + lis2[1] + lis2[2]))
    finally:
        print("程序运行结束")


print("------------------实验五--------------------")
main5()

Python实验报告五 python基础试题练习

 三:

# 录入一个学生的成绩,把该学生的成绩转换为A优秀、B良好、C合格、D不及格的形式,最后将该学生的成绩打印出来。要求使用assert断言处理分数不合理(小于0或者大于100)的情况,请编写程序。
def main6():
    score = float(input("请输入学生的成绩:"))
    assert 0 <= score <= 100, "成绩不合法"
    if score < 60:
        print("成绩为D")
    elif 60 <= score < 70:
        print("成绩为C")
    elif 70 <= score < 80:
        print("成绩为B")
    else:
        print("成绩为A")


print("------------------实验六--------------------")
main6()

Python实验报告五 python基础试题练习

 

到了这里,关于Python实验报告五 python基础试题练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 实验报告一 Python序列结构

    掌握:Python常用内置对象-列表、元组、字典、集合。 掌握运算符和内置函数对列表、元组、字典、集合的操作。 理解列表推导式、生成器表达式的工作原理。 掌握切片操作。 掌握序列解包的用法。 编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称。

    2024年02月04日
    浏览(73)
  • python实验报告一

    掌握:Python常用内置对象-列表、元组、字典、集合。 掌握运算符和内置函数对列表、元组、字典、集合的操作。 理解列表推导式、生成器表达式的工作原理。 掌握切片操作。 掌握序列解包的用法。 编写程序,用一个变量存储以下信息:学号,姓名,所在学院,专业名称。

    2024年02月06日
    浏览(27)
  • Web前端技术基础实验报告三之超链接与多媒体文件应用

    目录 Web前端技术基础实验报告 实验题目:超链接与多媒体文件应用 实验目的:熟悉超链接与多媒体文件的插入的相关标签 实验内容 : 实验过程及结果 实验题目:超链接与多媒体文件应用 实验目的:熟悉超链接与多媒体文件的插入的相关标签 实验内容 : 项目1  设计简易

    2023年04月16日
    浏览(37)
  • 使用python测试框架完成自动化测试并生成报告-实例练习

    558 pytest -v -s PyTest.py --alluredir=./result/   在测试执行期间收集结果  559 allure serve ./result/   测试完成后查看实际报告, 在线看报告   

    2024年02月07日
    浏览(41)
  • 实验报告一、Python 安装与开发环境搭建

    实验报告一、 Python 安装与开发环境搭建 一、实验目的: 1 、熟练掌握 Python 解释器安装与基本用法。 2 、熟练掌握使用 pip 命令安装 Python 扩展库。 3 、熟悉离线安装轮子文件的方法。 二、实验内容: 1 、安装 Python 解释器。 2 、安装 Python 扩展库。 三、实验步骤: 1 、打开

    2024年02月07日
    浏览(26)
  • Java面向对象程序设计实验报告(实验五 接口的练习)

    ✨ 作者:命运之光  ✨ 专栏: Java面向对象程序设计实验报告 ​ 目录 ✨一、需求设计 ✨二、概要设计 ✨三、详细设计 ✨四、调试结果 ✨五、测试结果 ✨附录:源程序代码(带注释) demo5类 Instrument类 Piano类 play类 Student类 Teacher类 Violin类 work类  实验五 接口的练习 实验

    2024年02月06日
    浏览(34)
  • Python 实验报告,实现停车场收费管理系统

    3.某小型收费停车场有50个车位,有一个入口与一个出口,满1小时收费1元,不足1小时不收费,10元封顶,超过1天罚款200元。编写程序实现停车场出入口管理。 要求: (1)定义出入口类,将车位总数与目前停在停车场的车辆信息(每辆车包括车牌和入场时间)定义为类属性;

    2024年02月12日
    浏览(33)
  • Python爬虫期末设计(内含源代码及实验报告)

    1. 爬取一章小说内容 2. 爬取一本小说内容 3. 实现搜索作者或者小说名字 进行下载说 4. 把程序打包成exe软件 1. 发送请求 #         确定发送请求的url地址 我们请求网址是什么 #         确定发送请求的方式是什么 get请求 post请求 #         headers 请求参数    2.

    2024年02月10日
    浏览(30)
  • 【python】《多媒体技术与应用》实验报告「数字音频处理」

     《多媒体技术与应用》 实验报告 实验名称 数字视频处理 实验时间 2022/4/25 姓名 班级 计非201 学号 成绩 一.  实验目的 1. 掌握数字音频的读取与打开; 2. 掌握数字音频信号的频谱分析; 3. 验证 PCM 编码算法。 二.实验原理 声音是由物体振动而产生的,声波的三要素是频率

    2023年04月16日
    浏览(40)
  • Python 基础测试题(含答案)

    A、 1_a B、 for C、 年龄 D、 a#b A、 char B、 int C、 float D、 str A、 with B、 int C、 del D、 for A、 3 B、 4 C、 True D、 False A、 “500/10” B、 500/10 C、 50 D、 50.0 A、 bc B、 bcd C、 cd D、 cde A、 split B、 strip C、 join D、 len A、 continue B、 pass C、 break D、 exit A、 a[3] B、 a[-3] C、 a[2] D、 a[-2]

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包