Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用两个For循环(非嵌套循环)_Python_Loops_For Loop - Fatal编程技术网

Python 如何使用两个For循环(非嵌套循环)

Python 如何使用两个For循环(非嵌套循环),python,loops,for-loop,Python,Loops,For Loop,我想打印学生数据和班级数据。因此,我编写了一个代码来获取学生id和班级id 首先,输入的Student_id必须与Student_data.csv文件中的Student_id相匹配,并根据该文件打印数据。[我找到了这个问题的答案] 同样,输入的class_id必须与class_data.csv文件中的class_id匹配,并根据需要打印数据 我需要的最终输出如下[在**中标记]: 选项8:让学生注册上课 输入学生id:S001 输入类别id:C001 学生S001,Kitty Tan报名参

我想打印学生数据和班级数据。因此,我编写了一个代码来获取学生id和班级id

  • 首先,输入的Student_id必须与Student_data.csv文件中的Student_id相匹配,并根据该文件打印数据。[我找到了这个问题的答案]

  • 同样,输入的class_id必须与class_data.csv文件中的class_id匹配,并根据需要打印数据

我需要的最终输出如下[在**中标记]:

选项8:让学生注册上课 输入学生id:S001 输入类别id:C001

  • 学生S001,Kitty Tan报名参加CCW101计算机和信息处理课程C001*
代码:


学生S001,Kitty Tan报名参加计算机和信息处理课程C001,CCW101*

你的代码看起来几乎满足了你的要求。。但您可以将学生文本“student S001,Kitty Tan已注册到C001类”存储在变量中,稍后再打印。。您还可以尝试在第一个
print
语句中使用
end=”“
,这将阻止它打印换行符。。但我不认为这是一个很好的方法,它只能在python3中实现

        Stud_id = str(input("Enter Student Id : ")).lower()
        Clas_id = str(input("Enter Class ID : ")).lower()

        Stud_File=open('Student_Data.csv', "r")                             ## Reading CSV file.
        Stud_Reader=list(csv.reader(Stud_File, delimiter=','))            ## Converting the csv file into List.
        Class_File=open('Class_Data.csv', "r")                             ## Reading CSV file.
        Class_Reader=list(csv.reader(Class_File, delimiter=','))            ## Converting the csv file into List.

        for row in Stud_Reader:                                               ## Creating a for loop to search sub-string in a string in a CSV file data.
                for field in row:                                
                        if Stud_id in field:                                        
                                student_text = "Student " + Stud_id + row[1] + " Enrolled into Class " + Clas_id


        for row in Class_Reader:
                for field in row:
                        if Clas_id in field:
                                print(student_text, row[1], row[2]) 

如果你给出了.csv的设计,我想你可以使用Pandas来简化访问。但我想只需存储字符串并稍后打印即可。当您找到学生id时,请使用“中断结束”。

如果您提供示例csv,则理解起来会更快。下面将解决您的问题

def检查学生id(学生id):
尝试:
Stud_File=open('Student_Data.csv',“r”)
Stud_Reader=list(csv.Reader(Stud_文件,分隔符=','))
对于螺柱读卡器中的螺柱id行:
对于螺柱id行中的螺柱id:
如果str(stud_id).lower()==学生id:
返回真值
返回错误
除异常作为错误外:
打印(str(Err))
返回错误
def检查等级id(等级id):
尝试:
Class\u File=open('Class\u Data.csv',“r”)
Class_Reader=list(csv.Reader(Class_文件,分隔符=','))
对于类读取器中的类id行:
对于class_id_行中的cls_id:
如果str(cls_id).lower()==class_id:
返回真值
返回错误
除异常作为错误外:
打印(str(Err))
返回错误
Stud_id=str(输入(“输入学生id”)。下()
Clas_id=str(输入(“输入类id:”).lower()
学生id是否存在=检查学生id(学生id)
如果学生id存在:
is_class_id_exits=检查_class_id(Clas_id)
如果is_类_id_退出:
打印(“学生{},注册到班级{}”。格式(学生id,班级id))
其他:
打印(“类id不存在”)
其他:
打印(“学生id不存在”)

如果您有学生ID和班级注册的数据,那么我们需要检索该数据以显示。但我假设你们的问题是“在继续注册之前需要验证学生ID和班级ID”

你们能描述一下你们的代码做得不正确吗?
class\u Reader=list(csv.Reader(Stud\u File,delimiter=,)
可能应该从
class\u文件中读取。这是一个班级管理系统项目。选择选项8后,它将为学生注册上课。它将打印输出如下学生S001,Kitty Tan注册到计算机和信息处理课程C001,CCW101*请更正代码,因为我是python的新手。这是我的大学项目。他只是在打印最后一个打印语句中的字符串student_文本,所以所有想要的信息都在一行中输出。除此之外,您的解决方案和his基本相同。您需要的所有更改都已在我上面发布的代码中。。有些东西不起作用了吗?它没有进入第二个循环。它没有显示输出。回到主菜单。熊猫对我来说似乎是一个非常沉重的话题,因为我是一个新手。请帮我输入密码。我想你的问题已经在下面的Zhenhirs帖子中得到了回答。保存第一个循环中所需的信息,如
studInfo='Student'+str(studu_id)+str(row[1])
break
,然后在第二个循环中使用print,如
print(studInfo+'registed into Class'+str(Clas_id)+str str(row[1]),'+str行[2])
break
yes但第二个循环仍面临一些问题。同样。抱歉,这很难帮助您,也许可以共享您正在加载的数据或示例。我猜您遇到了异常,或者找不到类ID
        Stud_id = str(input("Enter Student Id : ")).lower()
        Clas_id = str(input("Enter Class ID : ")).lower()

        Stud_File=open('Student_Data.csv', "r")                             ## Reading CSV file.
        Stud_Reader=list(csv.reader(Stud_File, delimiter=','))            ## Converting the csv file into List.
        Class_File=open('Class_Data.csv', "r")                             ## Reading CSV file.
        Class_Reader=list(csv.reader(Class_File, delimiter=','))            ## Converting the csv file into List.

        for row in Stud_Reader:                                               ## Creating a for loop to search sub-string in a string in a CSV file data.
                for field in row:                                
                        if Stud_id in field:                                        
                                student_text = "Student " + Stud_id + row[1] + " Enrolled into Class " + Clas_id


        for row in Class_Reader:
                for field in row:
                        if Clas_id in field:
                                print(student_text, row[1], row[2])