gpt4 book ai didi

python - 循环获取两条用户输入并保存到全局列表

转载 作者:行者123 更新时间:2023-12-01 05:51:27 26 4
gpt4 key购买 nike

首先,我是Python新手,所以请对我宽容一些...其次,我以前从未使用过论坛,所以如果我粘贴太多代码或者没有给出您所需要的内容,请原谅我,我我会尽力:

我需要我的代码做什么:

我需要我的代码来询问用户一个名为 moduleName 的输入,然后在输入 moduleName 后,我需要它来询问用户该特定模块的等级。输入之后,我需要它再次询问模块,然后询问成绩,直到不再需要输入,用户将在模块位中输入 -1 来结束它。我还需要将每个项目保存到我创建的全局列表中。因此,当我使用我创建的函数来查看列表时,它会打印出所有模块和成绩。

到目前为止我的代码:(我的全局列表位于名为 Students[] 的代码顶部)

def addStudent():
print
print "Adding student..."
student = Student()
firstName = raw_input("Please enter the student's first name: ")
lastName = raw_input("Please enter the student's last name: ")
degree = raw_input("Please enter the name of the degree the student is studying: ")
studentid = raw_input("Please enter the students ID number: ")
age = raw_input("Please enter the students Age: ")
**moduleName= 0
while moduleName != "-1":
moduleName = raw_input("Please enter module name: ")
grade = raw_input ("Please enter students grade for " + moduleName+": ")
students.append(student)**


student.setFirstName(firstName) # Set this student's first name
student.setLastName(lastName)
student.setDegree(degree)# Set this student's last name
student.setGrade(grade)
student.setModuleName(moduleName)
student.setStudentID(studentid)
student.setAge(age)


print "The student",firstName+' '+lastName,"ID number",studentid,"has been added to the system."

我得到的输出:

我现在已经修复了循环,因此它可以正确中断...我现在遇到的唯一问题是 moduleName 和 Grade 字段保存到我的全局列表中,但只保存最后一个输入(-1),而不是多个输入的内容...太困惑了。问题也可能出在我创建的这个函数中:

def viewStudent():
print "Printing all students in database : "

for person in students:
print "Printing details for: " + person.getFirstName()+" "+ person.getLastName()
print "Age: " + person.getAge()
print "Student ID: " + person.getStudentID()
print "Degree: " + person.getDegree()
print "Module: " + person.getModuleName()
print "Grades: " + person.getGrade()

再次抱歉,我不知道论坛等需要什么,所以请对我宽容一点......预先感谢! =D

最佳答案

我建议将 while moduleName != "-1": 循环替换为 while True: 循环,然后在询问模块名称后插入此代码:

if moduleName == '-1':
break

当您需要时,这将跳出 while 循环。

解决你的第二个问题,append 函数位于整个 while 循环的 else 位中。这意味着它仅在函数中断时才起作用。获得输入后,您需要将其放入主 while 循环中,并删除 else

此外,我没有在任何地方看到 student 定义 - 它的含义是什么?

这是您想要的代码:

while True:
moduleName = raw_input("Please enter module name: ")
if moduleName == '-1':
break
grade = raw_input("Please enter students grade for " + moduleName+": ")
students.append(student)

关于python - 循环获取两条用户输入并保存到全局列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14136159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com