鱼C论坛

 找回密码
 立即注册
查看: 1268|回复: 3

[已解决]python第十讲课后练习题

[复制链接]
发表于 2020-11-18 23:03:39 | 显示全部楼层 |阅读模式

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

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

x
方法一:
count = 0
length = len(member)
while count < length:
    print(member[count], member[count+1])
    count += 2

方法二:   
   
for each in range(len(member)):
    if each%2 == 0:
        print(member[each], member[each+1])小甲鱼这两个方法有没有大神解释一下,为什么这样写就运行起来就能成小甲鱼 88
                                                                                                                                                                       黑夜 90
                                                                                                                                                                       迷途 85等出来
最佳答案
2020-11-18 23:12:33


看代码注释吧,实际上两种代码都是隔着两个元素进行打印

就相当于步长设置为 2 ,每次索引值都隔 2 个元素进行打印

方法一:
  1. count = 0                  # 初始化设置默认值为 0,该变量用于记录下标
  2. length = len(member)       # 获取列表总长度,用于限制 count 的最大值,否则超出索引会导致报错
  3. while count < length:      # 设置范围条件,否则超出索引会导致报错
  4.     print(member[count], member[count+1])  # 一次性打印列表的两个元素
  5.     count += 2             # 因为上行代码一次性打印了两个元素,所以这里 +2 来打印接下去的元素
复制代码


方法二:   
  1. for each in range(len(member)):              # 直接用 for 循环  0~ len(member) 的索引值范围
  2.     if each%2 == 0:                          # each 的值求余,如果整除,那么就是偶数,反之是奇数,恰好每个数相隔 2 则可以用 求余用来判断
  3.         print(member[each], member[each+1])  # 一次性打印两个元素
复制代码


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

使用道具 举报

发表于 2020-11-18 23:12:33 | 显示全部楼层    本楼为最佳答案   


看代码注释吧,实际上两种代码都是隔着两个元素进行打印

就相当于步长设置为 2 ,每次索引值都隔 2 个元素进行打印

方法一:
  1. count = 0                  # 初始化设置默认值为 0,该变量用于记录下标
  2. length = len(member)       # 获取列表总长度,用于限制 count 的最大值,否则超出索引会导致报错
  3. while count < length:      # 设置范围条件,否则超出索引会导致报错
  4.     print(member[count], member[count+1])  # 一次性打印列表的两个元素
  5.     count += 2             # 因为上行代码一次性打印了两个元素,所以这里 +2 来打印接下去的元素
复制代码


方法二:   
  1. for each in range(len(member)):              # 直接用 for 循环  0~ len(member) 的索引值范围
  2.     if each%2 == 0:                          # each 的值求余,如果整除,那么就是偶数,反之是奇数,恰好每个数相隔 2 则可以用 求余用来判断
  3.         print(member[each], member[each+1])  # 一次性打印两个元素
复制代码


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

使用道具 举报

发表于 2020-11-18 23:12:50 | 显示全部楼层
  1. count = 0
  2. length = len(member)  #得长度
  3. while count < length:   #count取值依次为0,2,4,6,8
  4.     print(member[count], member[count+1]) #输出索引依次为:0,1,2,3,4,5,6,7,8,9,刚好全部打印完
  5.     count += 2
  6.   
  7.    
  8. for each in range(len(member)):  #count取值以此为0,1,2,3,4,5,6,7,8,9
  9.     if each%2 == 0:   #符合要(偶数)求得count为:0,2,4,6,8
  10.         print(member[each], member[each+1])  #输出索引依次为:0,1,2,3,4,5,6,7,8,9,刚好全部打印完
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-18 23:14:49 | 显示全部楼层
两个方法得count取值是一样的,不必纠结
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 07:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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