PTA Python作业7文件及异常处理

这篇具有很好参考价值的文章主要介绍了PTA Python作业7文件及异常处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

判断题

单选题

函数题

6-1 jmu-python-判断质数

编程题

7-1 下标异常

7-2 try-except-else异常

7-3 综合题:学生成绩输入及输出

判断题

1-1Python内置的open函数,打开文件的时候可能会产生异常。(T)

1-2二进制文件不能使用记事本程序打开。(F)

1-3Python对文件的操作中,close函数用于文件关闭。(T)

1-4文件打开的默认方式是只读。(T)

1-5以'w'模式打开一个可写的文件,如果文件存在会被覆盖。(T)

1-6read方法只能一次性读取文件中的所有数据。(F)

1-7在try...except...else结构中,如果try块的语句引发了异常则会执行else块中的代码。(F)

1-8在Python异常处理中,只能有一个try,但可以有多个except。(T)

1-9在Python中,如果try语句块发生了一个异常,与该异常匹配的所有except子句均会执行。(F)

1-10在Python异常处理中,在try块发生异常后,会执行第一个该异常匹配的except子句,其他except子句则不再执行。(T)

单选题

2-1打开一个已有文件,然后在文件末尾添加信息,正确的打开方式为( )。

A.'r'

B.'w'

C.'a'

D.'w+'

2-2下列方法中,用于获取当前目录的是( )。

A.open

B.write

C.getcwd

D.read

2-3若fp1 = open("test.txt","r")
以下哪个读取文件的方式line返回的不是字符串?()

A.for line in fp1

B.line = fp1.read()

C.line = fp1.readline(

D.line = fp1.readlines()

2-4关于 python 读取文件,下列描述错误的是:

A.关键字 with 会在程序不再需要访问文件或出现异常的情况下,关闭文件 。

B.Python 对数据量没有大小限制,需要读取的文件多大都可以。

C.函数 open()中如果输入参数只有文件名,那么 Python 会在当前执行的 .py 文件的所在目录中查找文件 。

D.读取文本文件时,Python 会将文件中的所有文本都解释为字符串 。

2-5下面语句解释器将抛出什么错误信息?

s=[1,2,3]
y=s[3]

A.NameError

B.IndexError

C.SyntaxError

D.TypeError

2-6下列选项中,( )是唯一不在运行时发生的异常。

A.NameError

B.ZeroDivisionError

C.SyntaxError

D.KeyError

2-7Python异常处理中不会用到的关键字是()。

A.if

B.finally

C.else

D.try

2-8关于try-except,哪个选项的描述是正确的?

A.try-except可以捕获所有类型的程序错误

B.编写程序时应尽可能多的使用try-except,以提供更好的用户体验

C.try-except在程序中不可替代

D.try-except通常用于检查用户输入的合法性、文件打开或网络获取的成功性等

2-9当try语句中没有任何错误信息时,一定不会执行( )语句。

A.try

B.else

C.finally

D.except

2-10下列选项中,用于触发异常的是( )。

A.try

B.raise

C.catch

D.except

函数题

6-1 jmu-python-判断质数

作者 蔡莉白

单位 集美大学

本题要求实现一个函数,判断参数是否是质数,是的话返回True,否则返回False

注意:函数中要有异常处理,如果参数不是整数,返回False

函数接口定义:

def isPrime(num)

裁判测试程序样例:


/* 请在这里填写答案 */
num=input()
if isPrime(num):
    print('yes')
else:
    print('no')

输入样例1:

ab

输出样例1:

no

输入样例2:

1.1

输出样例2:

no

输入样例3:

11

输出样例3:

yes
def isPrime(num):
    flag = 0
    try:
        int(num)
    except:
        return False
    else:
        for i in range(2,int(num)):
            if int(num)%i==0:
                flag+=1
                break
        if flag==0:
            return True
        else:
            return False

编程题

7-1 下标异常

作者 马杨珲

单位 浙江科技学院

输入一个非空字符串和一个索引值,输出字符串中,该索引值对应的字符。若发现异常,则输出“输入下标有误”

输入格式:

输入一个非空的字符串,再输入一个索引值(Python中可以是正向索引,也可以是反向索引)。

输出格式:

输出字符串中,该索引值对应的字符。若发现异常(如输入的索引值太大或太小,超出字符串的索引值范围;如输入的索引值为非整数等),则输出“输入下标有误”

输入样例:

在这里给出一组输入。例如:

Hello World
-4

输出样例:

在这里给出相应的输出。例如:

o

输入样例:

在这里给出一组输入。例如:

abcd
4

输出样例:

在这里给出相应的输出。例如:

输入下标有误

输入样例:

在这里给出一组输入。例如:

Good
?

输出样例:

在这里给出相应的输出。例如:

输入下标有误
s = str(input())
try:
    n = input()
    n = int(n)
    print(s[n])
except:
    print("输入下标有误")

7-2 try-except-else异常

作者 曹记东

单位 陕西理工大学

本题目要求读入1个整数A,然后输出20/A的值,保留两位小数;如果输入不正确,则输出相应的异常信息。

输入格式:

输入在一行中给出1个整数A。

输出格式:

对每一组输入,在一行中输出20/A的值或相应的异常信息。

输入样例1:

3

输出样例1:

20除以3的结果是: 6.67
没有出现异常

输入样例2:

3.0

输出样例2:

值错误,您必须输入数值

输入样例3:

0

输出样例3:

算术错误,您不能输入0
try:
    a = int(input())
    result = 20/a
    print("20除以{}的结果是: {:.3}".format(a,result))
    print("没有出现异常")
except ValueError:
    print("值错误,您必须输入数值")
except ZeroDivisionError:
    print("算术错误,您不能输入0")

7-3 综合题:学生成绩输入及输出

作者 于富强

单位 河北师范大学

输入n(1<n<=100)个学生的信息,包括学号、姓名、语文、数学和英语。学号为4位数字组成,成绩为整数,如果不满足此条件,出现异常,如果输入的n不是数字或者 n<=1或n>100,出现异常,输出“输入的人数必须是数字,大于0并且小于等于100”。要求根据3门功课的平均成绩从高分到低分输出每个学生的学号、姓名、3门功课成绩及平均成绩,若平均成绩相同则按语文成绩从高到低排序。

输入格式:

每组测试数据首先输入一个正整数n(1<n<=100),表示学生人数;然后是n行信息,分别表示学生的学号、姓名(长度不超过10且由英文字母构成的字符串)和3门课成绩(正整数)。

输出格式:

如果n出现错误,出现异常。如果n输入正确,输出排序后的学生信息,每行一个学生信息:学号、姓名、语文、数学、英语、平均成绩(保留2位小数),上面每个数据之间留一个空格。

输入样例:

在这里给出多组。例如:

3
0001 zhangsan 80 95 65
0002 lisi 65 52 56
0003 wangwu 87 86 95

输出样例:

在这里给出相应的输出,文件中与输出一样。例如:文章来源地址https://www.toymoban.com/news/detail-477354.html

0003 wangwu 87 86 95 89.33
0001 zhangsan 80 95 65 80.00
0002 lisi 65 52 56 57.
try:
    n = int(input())
    if n<=1 or n>100:
        raise ValueError
    students = []
    for i in range(n):
        info = input().split()
        if len(info[0]) != 4 or not info[0].isdigit():
            raise ValueError
        if not info[2].isdigit():
            raise ValueError
        if not info[3].isdigit():
            raise ValueError
        if not info[4].isdigit():
            raise ValueError
        students.append([info[0], info[1], int(info[2]), int(info[3]), int(info[4])])
    for student in students:
        student.append(round(sum(student[2:])/3, 2))
    students.sort(key=lambda x: (-x[5], -x[2]))
    for student in students:
        print(student[0], student[1], student[2], student[3], student[4], student[5])
except ValueError:
    print("输入的人数必须是数字,大于0并且小于等于100")

到了这里,关于PTA Python作业7文件及异常处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Python文件操作和异常处理:高效处理数据的利器

    重温Python,适合新手搭建知识体系,也适合大佬的温故知新~ 1.1 文件操作和异常处理对于编程的重要性 文件操作和异常处理对于编程非常重要。它们使得我们能够处理文件数据、持久化数据、导入和导出数据,并且能够优雅地处理和解决错误,提高程序的可靠性和稳定性。

    2024年01月23日
    浏览(54)
  • 【100天精通python】Day21:文件及目录操作_文件的权限处理和批量处理

    目录 专栏导读  1. 文件的权限处理 1.1 查询文件权限 1.2 修改文件权限

    2024年02月14日
    浏览(45)
  • 课后作业2.2:中断/异常的处理过程

    任务描述 分析版本1内核,回答下列问题: 1.在 0 号进程执行 fork 系统调用中的陷入指令(int 0x80)之前,当前指令位置(CS:EIP)和栈位置(SS:ESP)分别是多少? 2.使用 si 命令执行了该指令后,新指令位置和栈位置分别是多少? 3.此时栈中保存的恢复点位置和用户栈位置分别

    2024年02月08日
    浏览(39)
  • 头歌:Python开发技术—文件和异常3( 答案+详细注释)第1关:读取文件内容+第2关:素数写入文件+第3关:输出文件目录+第4关:读写json文件

    自己敲一遍这个代码,注释我写的超级详细,一定可以明白! 内容原创,请勿转载  知识点学习参考: 1.基本读写常用指令: 一文搞懂Python文件读写 - 知乎 (zhihu.com) 2.文件遍历知识总结:  (205条消息) python遍历文件夹下的所有文件_python遍历d盘下面所有文件(排除掉文件夹)

    2024年02月05日
    浏览(249)
  • Python小白入门:文件、异常处理和json格式存储数据

    所用资料 代码中所用到的文件可以从下面的网站进行下载: https://www.ituring.com.cn/book/2784 open函数 打开 一个文件。 接收参数为需要打开的文件名 。Python会在 当前执行的文件所在目录下 查找指定文件,因此需要把pi_digits.txt文件放在执行文件的同目录下。 open函数返回一个表示

    2024年02月13日
    浏览(52)
  • python-文件与异常处理try-except、finally

    文件和异常处理在文件操作中是非常重要的,它可以帮助我们处理文件不存在或权限问题等异常情况。以下是关于文件和异常处理的全面讲解以及相应的代码示例: 1. 文件不存在和权限问题的异常处理: 文件不存在时,打开文件时会抛出 FileNotFoundError 异常。 权限问题包括无

    2024年02月09日
    浏览(44)
  • C语言 switch语句详细讲解 简单计算器及PTA例题季节判断,今天星期几-1(switch语句实现), 数据按需处理

    (1) 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到  break  语句为止。 (2)不是每一个 case 都需要包含  break 。如果 case 语句不包含  break ,控制流将会  继续  后续的 case,直到遇到 break 为止。 (3) 上面所有 case 都无法判断结果时,可用 default 代替

    2024年02月05日
    浏览(66)
  • Java如何判断某文件目录是否存在

    在java中如何判断某文件所在的目录是否存在,若不存在创建目录 可以通过国使用 File 类的 getParentFile() 方法来获取文件所在的目录,并通过 exists() 方法来判断该目录是否存在,若不存在,通过 mkdirs() 方法创建目录,以下为实例 或直接简写

    2024年02月12日
    浏览(85)
  • golang判断目录是否存在和生成日志文件

    package main import (     \\\"fmt\\\"     \\\"io\\\"     \\\"os\\\"     \\\"time\\\"     \\\"github.com/sirupsen/logrus\\\" ) func main() {     defer func() {         err := recover()         if err != nil {             logrus.Info(err)         }     }()     log_path := \\\"runtime/logs/\\\"     _, err := os.Stat(log_path)     if err != nil {         i

    2024年02月16日
    浏览(59)
  • Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

    在 Python 中,for 循环用于遍历序列(list、tuple、range 对象等)或其他可迭代对象。for 循环的基本语法如下: 其中, 变量 表示每次循环中取出的一个元素, 可迭代对象 表示被遍历的对象。下面是一个 for 循环的例子: 输出结果为: 代码中, fruits 是一个列表, fruit 是当前循

    2024年02月10日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包