鱼C论坛

 找回密码
 立即注册
楼主: MENGXIN小C

[学习笔记] 开一帖记录自己学习python的过程

[复制链接]
发表于 2018-8-30 09:32:23 | 显示全部楼层
本帖最后由 小污堆 于 2018-8-30 09:33 编辑
MENGXIN小C 发表于 2018-8-29 22:15
9讲:分支与循环
for语句 for  目标  in  表达式    目前了解到的功能是把表达式中的集合给不断的赋值给目 ...


continue 的用法 其实你可以理解为一个循环中,比如for循环中我要取奇数,那么偶数项就用continue跳过,但是循环还是会继续进行。@MENGXIN小C 我艾特你了,  你咋看视屏这么快。还都能整理出来。厉害了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-30 11:13:30 | 显示全部楼层
小污堆 发表于 2018-8-30 09:32
continue 的用法 其实你可以理解为一个循环中,比如for循环中我要取奇数,那么偶数项就用continue跳过 ...

我看到你加我好友了,但是我等级太低没法加好友,可能也是因为我等级低所以没办法艾特你吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-30 11:15:47 | 显示全部楼层
小污堆 发表于 2018-8-30 09:32
continue 的用法 其实你可以理解为一个循环中,比如for循环中我要取奇数,那么偶数项就用continue跳过 ...

你这么说这个continue我就比较理解了。谢谢
想要视频看的快2倍速了解一下。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-30 11:53:36 | 显示全部楼层
MENGXIN小C 发表于 2018-8-30 11:15
你这么说这个continue我就比较理解了。谢谢。
想要视频看的快2倍速了解一下。

可能是我充钱了等级就上来了,不充钱真的有点麻烦,课后习题比较难找,充钱之后能看到课后习题还是不错的。continue其实还有条件的,甲鱼的那个视屏最后一段有讲到,理解一下,就是当条件符合的时候我continue,然后进行下一轮循环,但是开始之前要判断条件是否满足。拿小甲鱼的例子来说
  1. for i in range(10):
  2.         if i%2 !=0:
  3.                 print(i)
  4.                 continue
  5.         i += 2
  6.         print(i)
复制代码

这个range解释为range(0,10)然后if条件是除以2取余数不等于0即整除没有余数,
第一次循环取 0 ,不满足if条件,执行下面的所以第一次打印是2,第二次range取值是1,满足if条件,打印1执行continue,下面的语句就被跳过了,执行下一轮循环,即range取值为2,不满足if条件,执行下面的语句打印的是4,接着range取值为3满足if条件打印3,执行continue,然后range取值4,不满足if,打印6,range取5,满足打印5,range取6 不满足,打印 8 ,range取7 满足 打印 7,range取8 不满足 打印10 ,range取9满足打印9 ,这一次continue的时候发现range取值为10了,条件不成立所以循环结束。打印的值就是 2 1 4 3 6 5 8 7 10 9 给你说一遍我自己再理解一遍哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-30 12:31:35 | 显示全部楼层
小污堆 发表于 2018-8-30 11:53
可能是我充钱了等级就上来了,不充钱真的有点麻烦,课后习题比较难找,充钱之后能看到课后习题还是不错的 ...

嗯,等下个月有钱了我也充个会员。这个月没预算了
对于你最后一句话说continue发现range的值为10是不成立的,所以循环结束。我觉得是可以说的过去的。但我理解起来就有点别扭。因为range的语法就说明它的集合里只有0-9。i的赋值也只能是0-9。最后输出的结果是十个数字而不是20个,其关键因素在于for语句而不是continue吧。continue判断的条件应该是i是否能整除2吧。若条件成立就执行循环里的语句,如果不成立就执行循环外的语句。
突然想到可能continue的另个一功能就是保证程序运行的完整性,不会因为语法错误导致原本输出10个数字,实际只输出了5个之类的错误吧。
纯属个人理解。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-30 12:50:42 | 显示全部楼层
MENGXIN小C 发表于 2018-8-30 12:31
嗯,等下个月有钱了我也充个会员。这个月没预算了
对于你最后一句话说continue发现range的值 ...

对,你说的也没错,本身range的语法就是0-9,不是因为continue不满足条件而终止的循环,而是本身条件不满足。我想表达的意识就是continue它会在开始下一轮循环之前检查一下条件是不是满足(好像循环本身也会去判断条件满足不满足,若不满足就不执行当前循环了)。取值多少个是看for循环的长度,continue在这里的作用就是跳过本次循环,视屏没看下去也不知道它还有什么妙用。其实for循环其实我挺难理解的,特别是当要套用的时候,我只知道for是遍历一遍,for搭配range的话就是从头到尾,若是搭配字符串的话就是从字符串的第一个字符开始到结束,目前就这么理解。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-30 21:05:37 | 显示全部楼层
本帖最后由 MENGXIN小C 于 2018-9-10 17:02 编辑

10讲、列表
.append()为列表插入元素,i.append()  "."作为语法的作用域,append作用于i,只能想列表里插入单一元素。
.extend() 一个列表插入到另一个列表中
member.append(['竹林小溪', 'Crazy迷恋']) 实现的是对['竹林小溪', 'Crazy迷恋']的添加
member.extend(['竹林小溪', 'Crazy迷恋']) 实现的是对'竹林小溪', 'Crazy迷恋'的添加
.insert()为一个列表中在指定位置插入一个元素,注意:计算机语言中的序数是从0开始的。
.remove()从列表中删除一个元素
del 语句可以删除列表中指定元素
.pop()从列表中删除最后一个元素并返回给你。
列表分片(slice)member【1:3】截取列表中从1到3的元素3不包含,member【:3】  截取列表中从头到3的元素,3不包含;member【1:】截取列表中从1到尾的元素,包含1.member【:】列表的拷贝。
列表的比较是以第0个元素为准,
.count()统计元素出现的次数
.index()索引,显示元素在列表里的位置
.reverse()反转元素顺序
.sort()默认从小到大排列元素
.sort(reverse=true)从大到小排列
列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表,语法如:
  
[有关A的表达式 for A in B]
>>> list1 = [x**2 for x in range(10)]
>>> list1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-31 10:14:26 | 显示全部楼层
13、元组(tuple)
元组的形式(,)列表的形式【】
元组不可插入删除,只能剪切再拼接
temp = (1,2,3,4,5)
temp = 【:2】+(6,)+【2:】
temp
(1,2,6,3,4,5)
元组和列表的操作符大多数相同。拼接,重复,大小关系,in \notin 等
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-31 10:41:57 | 显示全部楼层
刚注册进来学习,也是小白支持一下。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-31 10:48:02 | 显示全部楼层
本帖最后由 MENGXIN小C 于 2018-8-31 14:24 编辑

甲鱼哥写的字符串的方法及注释,偷个懒直接把链接给考过来了。
https://fishc.com.cn/forum.php?mod=viewthread&tid=38992&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-31 12:46:11 | 显示全部楼层
很棒,我也要坚持!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-31 13:16:51 | 显示全部楼层
老哥你看这么快能理解吗 0 0 我好多课后作业都是不会写的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-31 14:22:05 | 显示全部楼层
本帖最后由 MENGXIN小C 于 2018-8-31 14:25 编辑
小污堆 发表于 2018-8-31 13:16
老哥你看这么快能理解吗 0 0 我好多课后作业都是不会写的。


听过的,写在上面的都理解了吧,这几节课都是补充基础知识,记住就行了,并没有实战。而且我没有课后作业呀,你要有不会的,放到这上面我看看(如果甲鱼哥允许,不会被甲鱼哥删帖的话)。
另外,这两节的理论知识知识理解了,并没有完全记住,到用的时候还是要查的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-31 15:29:09 | 显示全部楼层
我也是萌新,理工狗一枚,支持楼主。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-31 16:42:28 | 显示全部楼层
MENGXIN小C 发表于 2018-8-31 14:22
听过的,写在上面的都理解了吧,这几节课都是补充基础知识,记住就行了,并没有实战。而且我没有课后作 ...

课后作业其实也算是拓展也不是实战,只是对知识的理解更深一步吧。一天看一节课 0 0课后练习要思考很久。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-4 18:57:44 | 显示全部楼层
.format格式化字符串。
接受位置参数和关键字参数对字符串进行翻译。位置参数要在关键字参数之前。二者都传递到replacement的字段,用“{}”表示
https://fishc.com.cn/forum.php?mod=viewthread&tid=92997&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
在这个地方有几个我认为的理解难点:
0、
>>>“{{0}}”.format("budayin")
‘{0}’
这是因为0已经被解释为一个字符,而不是位置参数  和print('\\')的输出结果是\一样
1、
>>>‘{0:.1f}{1}’.format(27.658,'GB')
'27.7GB'
在替换域中:代表格式化符号的开始
m.n
m 是显示的最小总宽度,n 是小数点后的位数
这里.前面没有可以认为对长度没有定义,后面是小数点后面取一位,执行的是四舍五入的计数方式。f是定点数的意思
2、
>>>'%.2e'%27.658
'2.77e+01'
利用e计数法对27.658进行科学技术,.2是对小数点后取两位,四舍五入
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-4 18:58:22 | 显示全部楼层
小污堆 发表于 2018-8-31 16:42
课后作业其实也算是拓展也不是实战,只是对知识的理解更深一步吧。一天看一节课 0 0课后练习要思考很久。

两三天没学了,兄弟有没有想我
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-4 22:29:37 | 显示全部楼层
15讲课后作业,说实话这一章对于这个%的使用和转换我不是很理解,课后作业自己写出来是这个样子的
print ('====================RESTART====================')
print ('欢迎使用本程序')
temp = input ('请输出一个整数(输入Q结束程序):')
x = int (temp)
while True:
    if temp =='Q':
        break
    print('%o'% x)
    print('%X'% x)
    temp =input ('请输出一个整数(输入Q结束程序):')
    x = int (temp)
print ('感谢您的使用')
怎么转换成二进制貌似鱼哥没有写啊
感觉自己写的太渣了,虽然目的达到了,但完全没有作业上的效果。
看过鱼哥答案后改造的是这样的:
print ('====================RESTART====================')
print ('欢迎使用本程序')
temp = input ('请输出一个整数(输入Q结束程序):')
while True:
    if temp =='Q':
        break
    x = int (temp)
    print('十进制 -> 十六进制 : %d -> 0x%x' % (x, x))
    print('十进制 -> 八进制 : %d -> 0o%o' % (x, x))
    print('十进制 -> 二进制 : %d -> ' % x, bin(x))
    temp =input ('请输出一个整数(输入Q结束程序):')
print ('感谢您的使用')
另外发现了一个漏掉的知识点
格式化多个字符串有两种形式:字典和元组
>>>'%c %c %c' % (97,98,99)
'a b c'
>>>'%d + %d = %d'% (4,5,4+5)
'4 + 5 = 9'
除了格式化的字符串,其他字符正常打印,因为漏掉了这个知识点,所以才想不到怎么才能变成鱼哥要求的这种形式。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-4 22:30:50 | 显示全部楼层
有会员就是方便了很多,接下来把需要编程的课后作业补一补
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-5 17:46:00 | 显示全部楼层
支持一下  学习 拉上我啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-22 21:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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