如何使用if语句计算总数

时间:2018-04-19 22:13:20

标签: python-3.x

这是一个教程问题: 在嵌套循环中使用这些列表可以找出哪些学生在这两个课程中注册并计算 学生总数。您的输出应如下所示:

学生:奥黛丽参加了这两个班级 学生:Ben参加了这两个班级 学生:朱莉娅参加了这两个班级 学生:保罗参加了这两个班级 学生:Sue参加了这两个班级 学生:马克就读于这两个班级 6名学生注册计算机科学和数学

我试过计算,分裂(绝望)和其他方法尝试让它计算有多少学生但没有运气。有人可以建议一种方法来获取这个或指导我到文档中的正确部分吗?

for i in mathStudents:
    both = ""
    #ele = 0
    for i in csStudents:
        if i in mathStudents and i in csStudents:
            both = i
            #ele +=1

            print("Student: ", both, "is enrolled in both classes \n there is", #ele.count(i) 
            )

    break

提前致谢

1 个答案:

答案 0 :(得分:1)

就我个人而言,我只是懒惰而且使用set()

print("Total number is: ", len(set(mathStudents) | set(csStudents))

如果您想使用for循环来获取总数:

both = 0
for x in mathStudents: #don't use the same variable for each loop
    for y in csStudents: #they overwrite each other
        if x == y: #same student
            both +=1 #both is increased
            print(x, "is in both classes")

total_students = len(mathStudents) + len(csStudents) - both #total = math + cs - overlap
print(total_students)