|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 he2023 于 2023-6-14 16:15 编辑
#输入班级1的学生数量,存储到num1
num1 = int(input('输入班级1的学生数量:'))
class1 = set()#初始化集合class1
#通过
for i in range(0,num1):
name = input('输入学生%d姓名:'%(i+1))
class1.add(name)
num2 = int(input('输入班级2的学生数量:'))
class2 = set()
for i in range(0,num2):
name = input('输入学生%d姓名:'%(i+1))
class2.add(name)
same = class1 & class2
print("重名的学生")
for name in same:
print(name)
上面的 name = input('输入学生%d姓名:'%(i+1))一句,里面的%d和 %(i+1)是什么意思?谢谢回复。
这段代码是让用户输入两个班级的学生名字,并比较两个班级是否有重名的情况。在第5行的for循环中使用到了字符串格式化语法,其中%d表示将会使用一个整数来替代,在这里所代替的是i+1,它代表的是循环中第i次的姓名,即输入学生的顺序。而后面的%(i+1)则表示将i+1这个数字插入到占位符%d中输出。在第11行,使用了交集操作符&比较了两个班级中出现重名的学生姓名。最后在第13行中,使用一个for循环来打印重名的学生姓名。
例如,用户输入班级1的学生数量为3,且学生分别为Tom, Jerry和Lucy,则第5行的for循环会被执行3次,第一次循环中i的值为0,name的值为用户输入的第一个学生姓名Tom,所以字符串格式化为"输入学生1姓名:"。第二次循环中i的值为1,name的值为Jerry,所以字符串格式化为"输入学生2姓名:",以此类推。
求最佳答案
|
|