1514155012 发表于 2021-11-30 23:34:38

课后作业第10讲,动动手第二题

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
https://xxx.ilovefishc.com/forum/201310/05/060640if12iygzasr3z2jm.png
上面是图片地址

打印成这个
小甲鱼,88
黑夜, 90
迷途, 85
怡静, 90
秋舞斜阳, 88

2. 上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】
方法一:
count = 0
length = len(member)
while count < length:
    print(member, member)
    count += 2

方法二:   
   
for each in range(len(member)):
    if each%2 == 0:
      print(member, member)
复制代码

上面是答案 之前百度了半天没看懂 然后看了答案更懵逼了,有没有大佬简单介绍一下。

suchocolate 发表于 2021-12-1 10:37:20

思想就是分段,分index打印,用pycharm debug设断点自己观察一下就懂了。
提示:
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
index      0      1   2   3   4   5   6   7   8         9

member, member
member, member
member, member
member, member
member, member

Tutu007 发表于 2021-12-1 14:49:53

方法一:
先定义一个count初始值为0;
将member这个列表的长度赋值给变量length,从列表中的值来看,它的长度为10;
再用一个while循环语句来判断,当count从0到9依次循环,长度都小于10,满足条件时每次打印两个值;
这两个值是通过列表索引取值得到,索引是从0开始。
第一次是member,member,也就是小甲鱼,88。
再通过count+=2,(其实就是count=count+2)每次自增加2;
这样第二次循环时,count=2,小于10,打印member,member,也就是黑夜,90。
依次循环,到count=8时,打印member,member,也就是秋舞斜阳,88。

方法二:
用了for循环来遍历列表,使用了len()和range()两个内置函数,返回一个序列的数;
range(len(member)),也就是range(10),等价于range(0,10)
依次遍历0,1,2,3,4,5,6,7,8,9。
里面嵌套了if条件判断,其中算术运算符%是取模运算,除以2取余数判断是否等于0,
满足条件打印,不满足不打印,然后继续遍历:
当0除以2余数等于0,打印member,member,打印出小甲鱼,88;
当1除以2余数不等于0,不打印,
再判断2除以2余数等于0,打印member,member,打印出黑夜,90;
依次遍历,当8除以2余数等于0,打印member,member,也就是秋舞斜阳,88。

1514155012 发表于 2021-12-1 22:39:24

suchocolate 发表于 2021-12-1 10:37
思想就是分段,分index打印,用pycharm debug设断点自己观察一下就懂了。
提示:
member = ['小甲鱼', 88 ...

没学到这里呢大佬,不过还是谢谢你{:5_108:}

1514155012 发表于 2021-12-1 22:40:50

Tutu007 发表于 2021-12-1 14:49
方法一:
先定义一个count初始值为0;
将member这个列表的长度赋值给变量length,从列表中的值来看,它的 ...

好的 谢谢大佬 膜拜

suchocolate 发表于 2021-12-1 22:42:08

1514155012 发表于 2021-12-1 22:39
没学到这里呢大佬,不过还是谢谢你

我写的可是列表基础啊(用索引获取列表元素),没学到这你咋会做这个题,而且答案也是课里的基础知识。

1514155012 发表于 2021-12-1 22:52:37

suchocolate 发表于 2021-12-1 22:42
我写的可是列表基础啊(用索引获取列表元素),没学到这你咋会做这个题,而且答案也是课里的基础知识。

真的 我刚刚看了一下视频那是在P12,这是P11课后题.{:10_304:}

suchocolate 发表于 2021-12-1 22:54:03

1514155012 发表于 2021-12-1 22:52
真的 我刚刚看了一下视频那是在P12,这是P11课后题.

视频地址发我看看

1514155012 发表于 2021-12-1 22:57:03

suchocolate 发表于 2021-12-1 22:54
视频地址发我看看

https://www.bilibili.com/video/BV1Fs411A7HZ?spm_id_from=333.999.0.0

1514155012 发表于 2021-12-1 22:57:56

suchocolate 发表于 2021-12-1 22:54
视频地址发我看看

我发了地址 需要审核,就是B站小甲鱼的入门python那个P11\P12

1514155012 发表于 2021-12-1 23:00:51

1514155012 发表于 2021-12-1 22:57
我发了地址 需要审核,就是B站小甲鱼的入门python那个P11\P12

我还有个问题哈 就是答案第二个
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in range(len(member)):
    if each%2 == 0:(当时我试这个代码了,但是一直报错,没有中间这一句,有了就不报错,搞不懂啥意思)

IndexError: list index out of range(说列表不能用于range函数)

大艺术家^ 发表于 2021-12-28 14:23:44

{:10_254:}
页: [1]
查看完整版本: 课后作业第10讲,动动手第二题