he2023 发表于 2023-6-14 16:11:00

请教

本帖最后由 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)是什么意思?谢谢回复。

青出于蓝 发表于 2023-6-14 16:27:29

这里的 %d 是字符串格式化操作符,用于格式化输出字符串中的整数占位符。%(i+1) 则是字符串格式化中的表达式,表示将 i+1 的值嵌入到字符串中相应的位置上。

具体来说,%d 表示一个整数占位符,它会被后面的变量 i+1 所代替。而 %(i+1) 中的 % 和括号内的表达式结合起来,表示将一个元组作为参数传递给字符串的 format 方法,这个元组只包含一个值,即 i+1。这样就可以实现在输入提示信息中嵌入循环计数器的值。例如,在第一次循环中,i的值为0,因此执行该语句时会输出 '输入学生1姓名:'。

sfqxx 发表于 2023-6-14 16:30:26

这段代码是让用户输入两个班级的学生名字,并比较两个班级是否有重名的情况。在第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姓名:",以此类推。

求最佳答案{:10_254:}

isdkz 发表于 2023-6-14 16:38:44

在Python中,'%d' 是一个格式化符号,用于将整数插入字符串中的特定位置。在这个例子中,'%d' 被用来将学生的序号插入到字符串 "输入学生%d姓名:" 中。

在 '输入学生%d姓名:'%(i+1) 这一句中,'%d' 代表的是一个占位符,表示在这个位置需要插入一个整数。'(i+1)' 是要插入的数据,是一个整数类型。

'%(i+1)'是格式化操作符的参数,i 是在 for 循环中定义的变量,取值范围是 0 到 num1 或 num2 减 1,每次循环 i 的值都会加1。所以 '%(i+1)'实际上是在插入学生的序号,即第一个学生输入的是 "输入学生1姓名:",第二个学生输入的是 "输入学生2姓名:",以此类推。

he2023 发表于 2023-6-14 17:11:54

青出于蓝 发表于 2023-6-14 16:27
这里的 %d 是字符串格式化操作符,用于格式化输出字符串中的整数占位符。%(i+1) 则是字符串格式化中的表 ...

谢谢您的答复。

he2023 发表于 2023-6-14 17:12:29

isdkz 发表于 2023-6-14 16:38
在Python中,'%d' 是一个格式化符号,用于将整数插入字符串中的特定位置。在这个例子中,'%d' 被用来将学生 ...

谢谢您的答复。

中英文泡椒 发表于 2023-6-14 18:24:20

青出于蓝 发表于 2023-6-14 16:27
这里的 %d 是字符串格式化操作符,用于格式化输出字符串中的整数占位符。%(i+1) 则是字符串格式化中的表 ...

{:10_298:}{:10_298:}考完回来啦

青出于蓝 发表于 2023-6-14 22:27:08

中英文泡椒 发表于 2023-6-14 18:24
考完回来啦

不提了,说多了都是泪{:5_100:}
页: [1]
查看完整版本: 请教