首页 > 解决方案 > 怎么用try,除了写文件

问题描述

我正在尝试使用 try 和 except 编写一个函数。我创建了一个名为“file”的文件,其中包含所有学生的个人信息。我想在输入学生姓名时打印个人信息并将其写入一个名为“new_file”的新文件中。如果输入的学生姓名不包含在“文件”中,我想打印“未找到姓名”。由于这是一项任务,因此我需要使用 try 块。有没有人可以帮忙?以下是我的代码。

在此处输入图像描述

find_info = input("Please input the student name that you want to search:")

def write_file():
    try:
        for student in student_list:
            if (find_info == student.name):
                print("Find Personal Information of:", student.name)
                with open("/Users/ada/Desktop/new_file.txt", "w") as new_file:
                    new_file.write("Name: " + student.name + ", Student_id: " + student.student_id \
                                   + ", College: " + student.college + ", Citizenship:" + 
                                   student.citizenship \
                                   + ", Phone_number:" + student.phone_number + ", Address:" 
                                   + student.address)
            print("\n")
            print("Student Personal Information Created")
            print("\n")
            break
    except:
        print("\n")
        print("Student Name Not Found")

标签: python

解决方案


您已经编写了代码来检查学生姓名是否是您要查找的内容,然后再对它进行任何操作,这是一种很好的做法!但是,如果您希望它抛出异常,则必须让它中断或自己中断。在这种情况下,您if (find_info == student.name):会检查它是否存在,但您从不告诉它要做什么else:。我建议添加一个 else 语句,该语句将引发异常 [ raise NameError("Breaking my stuff!")],然后您的except. 本着家庭作业的精神,我将把确切的位置留给你。:)


推荐阅读