鱼C论坛

 找回密码
 立即注册
查看: 6547|回复: 8

python 第十讲课后题

[复制链接]
发表于 2017-2-27 17:45:02 | 显示全部楼层 |阅读模式
5鱼币
  1. 方法一:
  2. member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
  3. count = 0
  4. length = len(member)
  5. while count < length:
  6.     print(member[count], member[count+1])
  7.     count += 2

  8. 方法二:   
  9. member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]   
  10. for each in range(len(member)):
  11.     if each%2 == 0:
  12.         print(member[each], member[each+1])
复制代码


这两种方法里print那一行不是很明白,好像小甲鱼没讲过这样用。我猜测第二个是先print member中的每一次迭代的each,然后print下一代的each,然后循环,应该是这个意思吧?萌新自己瞎想的。第一种真想不通了。
另外,各位大佬,我看这里悬赏问题好像都很6的样子,我在这问怎么有点蠢的感觉。。。。

最佳答案

查看完整内容

第一个print(member[count],member[count+1])实际上就是通过count+=2这个变量的不断变化来实现对member[]数组的的各个元素的读取。每循环一次就读取下标为count和coutn+1的这两个元素并打印出来。直到count的值不再小于length时,就退出循环。丛而实现了对数组的全部元素打印。最后学习就是一个过程,你学得越多问题也会越多这很正常,只要你把不懂的都搞懂,一步一个脚印别着急总有一天你会发现你会越学越简单的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-27 17:45:03 | 显示全部楼层
第一个print(member[count],member[count+1])实际上就是通过count+=2这个变量的不断变化来实现对member[]数组的的各个元素的读取。每循环一次就读取下标为count和coutn+1的这两个元素并打印出来。直到count的值不再小于length时,就退出循环。丛而实现了对数组的全部元素打印。最后学习就是一个过程,你学得越多问题也会越多这很正常,只要你把不懂的都搞懂,一步一个脚印别着急总有一天你会发现你会越学越简单的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-27 18:06:39 | 显示全部楼层
第二个循环each是在len(member)范围里的,if是检验each是不是偶数,是偶数的话,就打印member中以each和each+1为下标的元素,就是从0开始,打印每个偶数下标的内容和其下一项的内容
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-27 19:12:40 | 显示全部楼层
类似字典输出一个项,只不过用列表实现,每2个元素一组。

使用格式:列表名[索引位]  来访问列表里的元素。

print的那一行,是显示:索引位的元素与索引位+1的元素。

方法1里用count += 2来控制索引位,每次迭代,步进2。

方法2里用each%2 == 0条件来控制执行显示命令,余数为0的情况才会执行print命令,为1的时候无操作。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-28 13:09:48 | 显示全部楼层
建立member列别之后试一下 member[0],member[0+1]就明白了。
我刚刚做完第十个,哈哈~加油。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-28 13:51:13 | 显示全部楼层

  1. 方法二:   
  2. member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]   
  3. for each in range(len(member)):
  4.     if each%2 == 0:
  5.         print(member[each], member[each+1])
复制代码

满足if 条件成立,只有列表中索引值为偶数的项(0,2,4,6,8)
依次打印这些项及列表的后一位的数值

比如,each= 0时,if条件成立,打印member[0]和member[1]
         each = 1 不成立   未进入if内
         each =2  if 条件成立,打印memeber[2]和member[3]
……………………依次类推
        
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-28 14:16:16 | 显示全部楼层
方法一:
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]   
count = 0                                                                                       
length = len(member)                                              #取列表的长度,共10个   代号为:[0,1,2,3,4,5,6,7,8,9]
while count < length:
    print(member[count], member[count+1])           #打印member[0]和member[1]
    count += 2                                                  
# count += 2 为count自加2的意思,count为0,所以进入下一次循环时count的值为2,打印出member[2]和member[3],然后count再加2,则为4,依次循环,直至count为10则跳出循环


方法二:   
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]   
for each in range(len(member)):
    if each%2 == 0:
        print(member[each], member[each+1])
#依次打印member[0], member[1]
                member[2], member[3]
                member[4], member[5]
                member[6], member[7]
                member[6], member[7]

#主要是要了解列表了是从    0到9     而不是     1到10
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-2-28 15:44:08 | 显示全部楼层
mustang 发表于 2017-2-28 14:16
方法一:
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]   
count = 0  ...

谢谢你写了这么多,我已经明白了,each和each+1每次指向的数都是不同的,如楼上几位说的,是类似于下标一样的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-28 16:18:49 | 显示全部楼层
ylyl 发表于 2017-2-28 15:44
谢谢你写了这么多,我已经明白了,each和each+1每次指向的数都是不同的,如楼上几位说的,是类似于下标一 ...

其实我也是新手,所以回答这个也是对学习内容的一个总结
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-17 06:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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