kaobiel 发表于 2022-10-31 22:04:53

课后作业问题求助

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
   
for each in range(len(member)):
    if each%2 == 0:
      print(member, member)      # 为什么这里后面要加1才显示数字不加1就显示两个相同的字符串


wp231957 发表于 2022-10-31 22:11:42

索引这个术语了解一下

hziyan 发表于 2022-10-31 22:25:45

不加1就是两个member了呀.....也就是
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
   
for each in range(len(member)):
    if each%2 == 0:
      print(member, member)
可不就是两个相同的字符串嘛,因为下标索引都相同

jackz007 发表于 2022-10-31 22:26:42

      member 是一个有 10 个元素的列表
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
      这个循环
for each in range(len(member)):
      len(member) 得到列表 member 的元素数量 10,所以,这一句其实是:
for each in range(10):
      这个循环以 each 为循环变量,将会循环 10 次,each 的值将依次等于 0、1、2、3、4、5、6、7、8、9 到 each 的值为 10 的时候,循环结束。
    if each%2 == 0:
      print(member, member)
      这是每次循环要执行的全部内容,if 的意思是如果 each 是偶数(包括 each = 0),就执行后面 print() 语句,这个 print() 每次打印 member 索引值相邻的两个元素 member 和 member,这样,通过 5 次 print() 就把 members 中所有的元素都打印了一遍。

Twilight6 发表于 2022-11-1 14:34:23


print(member, member)

因为 member 是返回 member 列表中的第 each 索引位置上的元素

而 member 是返回 member 列表中的第 each + 1 索引位置上的元素

所以当你去掉 + 1 那么 print 处代码不就变成了print(member,   member) 打印一样索引位置上的元素了


kaobiel 发表于 2022-11-1 20:57:13

谢谢各位
页: [1]
查看完整版本: 课后作业问题求助