鱼C论坛

 找回密码
 立即注册
查看: 1032|回复: 6

[已解决]小甲鱼python010课后题

[复制链接]
发表于 2018-7-18 17:36:27 | 显示全部楼层 |阅读模式

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

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

x
#coding=utf-8
member=['小甲鱼‘,88,’黑夜‘,90, '迷途', 85, ’怡静', 90,]
count=0
for each in range(len(member)):
     if each%2==0:
        print(member[each],member[each+1])
小甲鱼 88
黑夜 90
迷途 85
怡静 90
问题 0.coding=utf-8   这是什么意思?
       1. count=0在这里有什么作用?可以换成count=任何数吗?
       2。条件是余数为0的情况下打印(member[each],member[each+1]),但是小甲鱼是3个长度怎么也被打印出来了?
最佳答案
2018-7-18 18:56:54
第三个问题,那个each是下标计数,如果求余2等于0,意思就是取两个为一组,比如第一个each=0,求余2为0,则满足if条件为真,输出member[0],member[1]两个。
这个不是用来判断字符串长度的。那个len(member)求的是列表有多少个元素,然后range()得到一个从0开始的数列,依次输出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-18 18:38:28 | 显示全部楼层
#coding=utf-8 在老版本中表示 代码内容为utf-8编码。新版本用不上

count = 0 初始化 count 为 0 你想初始化别的数字也可以;问题是你要初始化什么数得看你实际编程的情况吧。

['小甲鱼‘,88,’黑夜‘,90, '迷途', 85, ’怡静', 90,]
member[0] = '小甲鱼‘
member[1] = 88
......

然后 member[each],member[each+1]
member[0] = '小甲鱼‘
member[0+1] = 88

这不难理解吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-7-18 18:56:54 | 显示全部楼层    本楼为最佳答案   
第三个问题,那个each是下标计数,如果求余2等于0,意思就是取两个为一组,比如第一个each=0,求余2为0,则满足if条件为真,输出member[0],member[1]两个。
这个不是用来判断字符串长度的。那个len(member)求的是列表有多少个元素,然后range()得到一个从0开始的数列,依次输出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-18 18:58:52 | 显示全部楼层
ba21 发表于 2018-7-18 18:38
#coding=utf-8 在老版本中表示 代码内容为utf-8编码。新版本用不上

count = 0 初始化 count 为 0 你想初 ...

可是len('小甲鱼')=3,条件是each%2==0,而且3%2!=0,怎么会执行print(member[each],member[each+1])?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-18 19:23:47 | 显示全部楼层
森林味的曲奇 发表于 2018-7-18 18:58
可是len('小甲鱼')=3,条件是each%2==0,而且3%2!=0,怎么会执行print(member[each],member[each+1])?

len(member)就等于列表中对象的个数,也就是8。len(member[0])才相当于是len('小甲鱼')。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-18 19:26:05 | 显示全部楼层
森林味的曲奇 发表于 2018-7-18 18:58
可是len('小甲鱼')=3,条件是each%2==0,而且3%2!=0,怎么会执行print(member[each],member[each+1])?

len(member)就等于列表中对象的个数,也就是8

range(8) == [0,1,2,3,4,5,7]

if 0%2==0:
if 1%2==0:
if 2%2==0:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-19 00:17:11 | 显示全部楼层
1. #coding=utf-8
这是机器码,告诉编码时要用 utf-8 的格式编写。Mac、Unix、Linux 默认是用 utf-8,但 Windows 默认是用 Big5。如果没有注明,那么换到另一个作业系统会有乱码,导致程序执行失败。

2. count=0在这里有什么作用?可以换成count=任何数吗?
count 在被定义之后却没有被用到,并没有所谓的初始化的作用,所以count 在这里可以随意定义,甚至删除。

3. 条件是余数为0的情况下打印(member[each],member[each+1]),但是小甲鱼是3个长度怎么也被打印出来了?
上贴 ba21  已经回答了,稍微补充一下:
len(member) 是在问这个 member 列表共有几个元素,所以得 8。而 range(len(member)) 是制造一个序列 >> range(8) == range(0,8) ,但是不能说 range() 制造出一个列表,因为 range() 并不能储存资料。
for each in range(len(member)):         ## 在这个 0 到 7 的序列,由 each 代表第一个元素。而跑完一圈后,each 将代表第二个元素。以此类推直到跑完为止。
        if each%2 == 0:                       ## 检查看看 each 是否能被 2 整除。可以整除的为 0,2,4,6
                print(..., ...)                      ## 这里列印的是 member 里第几个元素,注意是 member[ ],有中括号,在询问位置

因为是在询问位置,所以跟字串的长度无关,在那个位置的所有字串将毫无损伤地吐回出来~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 23:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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