python - 如何保存以下程序的输出?
问题描述
有人可以帮我完成以下功能程序:
==========================================
print("Function program to ad students")
students = []
def get_student_name():
student_name = []
for student in students:
student_name = student.name()
return student_name
def print_student_name():
student_name = get_student_name()
print(student_name)
def add_student(name, id1):
student = {"Name": name, "ID": id1}
students.append(student)
def save_file(student):
try:
file = open("students.txt", "a")
file.write(student + "\n")
file.close()
except Exception:
print("Not saved")
def read_file():
try:
file = open("students.txt", "r")
for student in file.readlines():
add_student(student)
file.close()
except Exception:
print("Not read")
read_file()
print(students)
Des = input("Enter yes or no: ")
while Des == "yes":
add_student(name=input("Enter name: "), id1=input("Enter ID: "))
print(students)
Des = input("Enter yes or no: ")
print("outside loop")
save_file(students)
==========================================
该文件没有被保存,我认为这是第一个函数中第 9 行的问题,即 {student_name = student.name()}
先感谢您
解决方案
您的代码中有多个错误。首先,在read_file
您使用一个参数调用函数add_student
时(需要 2 个参数)。接下来,在save_file
您的字典中添加一个字符串 ( "\n"
)(该参数student
恰好是一个字典)。
尝试清理你的代码,你会发现更多。例如,您使用students
您期望单个学生听写的列表,等等......
推荐阅读
- html - 引导导航从页面退出
- c# - 是否可以忽略部分视图的模型?
- laravel - Laravel 计划作业中为 foreach() 提供的参数无效
- jquery - 如果我放链接,为什么我的 jquery 不起作用
- c# - UWP:System.Reflection.TargetInvocationException
- sybase - 从应用程序调用存储过程时如何在sybase存储过程中使用打印语句
- swift - 为什么应用于实例的变异方法不保存更改?迅速
- c# - DynamoDBGlobalSecondaryIndexRangeKey 属性未将值映射到该字段
- python - 如何使用 tshark 将 pcap 转换为十六进制流?
- sql - 插入第三个表,其中 2 个表具有相同的 Id