鱼C论坛

 找回密码
 立即注册
查看: 1672|回复: 7

[已解决]请教

[复制链接]
发表于 2023-6-14 16:11:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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)是什么意思?谢谢回复。
最佳答案
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姓名:",以此类推。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-14 16:27:29 | 显示全部楼层
这里的 %d 是字符串格式化操作符,用于格式化输出字符串中的整数占位符。%(i+1) 则是字符串格式化中的表达式,表示将 i+1 的值嵌入到字符串中相应的位置上。

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

使用道具 举报

发表于 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姓名:",以此类推。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 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姓名:",以此类推。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-6-14 17:11:54 | 显示全部楼层
青出于蓝 发表于 2023-6-14 16:27
这里的 %d 是字符串格式化操作符,用于格式化输出字符串中的整数占位符。%(i+1) 则是字符串格式化中的表 ...

谢谢您的答复。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢您的答复。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

考完回来啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-14 22:27:08 | 显示全部楼层

不提了,说多了都是泪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 18:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表