鱼C论坛

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

[学习笔记] 新手学习的小知识点

[复制链接]
发表于 2019-11-23 11:00:37 | 显示全部楼层 |阅读模式

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

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

x

如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
>>>str = r'C:\Program Files\FishC\Good''\\'

本帖被以下淘专辑推荐:

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

使用道具 举报

 楼主| 发表于 2019-11-23 22:53:00 | 显示全部楼层
本帖最后由 晒肚皮的大青蛙 于 2019-11-23 22:57 编辑

4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9

如果你的回答是 0,那么小甲鱼很开心你中招了!
答案是:4

not or and 的优先级是不同的:not > and > or

我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 4

为啥是 4?

大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3。
所以答案是:4

温馨提示:为了更好的表达你的程序,小甲鱼再次呼吁有些括号还是不能省下的,毕竟不是所有程序员都跟你一样都将优先级烂透于心的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-24 15:46:06 | 显示全部楼层
本帖最后由 晒肚皮的大青蛙 于 2019-11-24 22:32 编辑

第007-008讲:1. Python 的作者在很长一段时间不肯加入三元操作符就是怕跟 C 语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。
请将以下代码修改为三元操作符实现
x, y, z = 6, 5, 4
if x < y:
    small = x
    if z < small:
        small = z
elif y < z:
    small = y
else:
    small = z
答案
small = x if (x < y and x < z) else (y if y < z else z)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-24 22:29:50 | 显示全部楼层
本帖最后由 晒肚皮的大青蛙 于 2019-11-24 22:32 编辑

第009讲:7. 【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?
i = 0
string = 'ILoveFishC.com'
while i < len(string)):
    print(i)
    i += 1
答案:
这段代码之所以“效率比较低”是因为每次循环都需要调用一次 len() 函数(我们还没有学到函数的概念,小甲鱼这里为零基础的朋友形象的解释下:就像你打游戏打得正HIGH的时候,老妈让你去买盐......你有两种选择,一次买一包,一天去买五次,或者一次性买五包回来,老妈要就直接给她。)
i = 0
string = 'ILoveFishC.com'
length = len(string)
while i < length:
    print(i)
    i += 1  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-25 17:31:01 | 显示全部楼层
本帖最后由 晒肚皮的大青蛙 于 2019-12-15 23:15 编辑

P11-010
添加在列表最后:member.appond()     
添加在列表最后,且可以在最后添加一个列表:member.extend([]) ;用extend不要用加号+
添加在列表的任意地方,比如添加在列表的最前端:member.insert( 0,    )

第011讲:  

remove的用法:  删除一个元素并不返回该元素,不同于pop()
若: list1 = [1, 3, 2, 9, 7, 8]
list1.remove(3) 则  list1 = [1, 2, 9, 7, 8] 即可以不用知道列表中元素的位置,只要该列表中有这个元素即可删除!

del 的用法:
del 不是一个函数,就是一个语句!
如list1 = [1, 3, 2, 9, 7, 8] 则 del   list1[3]    结果是:list1 =[1, 3, 2, 7, 8]

list1.count(3) 返回 1;说明元素 3 在列表中出现了 1 次。
list1.index(9) 返回 3;说明该元素的位置是 3 即 list1[3]。
list1.index(9,0,4),说明在列表中元素0到元素4位置区间中出现元素9的位置。
list1.reserve()则list1中元素反转,即 list1 = [8,7,9,2,3,1]
list1.sort();就是把列表从小到大自动排序。
list1.sort(reverse = True);就是相当于把数组从小到大排序然后倒序过来。


课堂上小甲鱼说可以利用分片完成列表的拷贝 list2 = list1[:],那事实上可不可以直接写成 list2 = list1 更加简洁呢?
  
千万不可以!

列表名.pop(元素位)   代表从列表中把该元素取出来,即列表也少了该元素了,如果是:列表名.pop(), 括号为空则代表取出列表中的最后一位。
如: list1 = [1, 3, 2, 9, 7, 8]
list1.pop()  = 8 则 list1 = [1, 3, 2, 9, 7]
list1.pop(0) = 1 则 list1 = [ 3, 2, 9, 7]


若: list1 = [1, 3, 2, 9, 7, 8]
还可以指定列表的步长: 如 list1[::2] 指定列表的步长为2;
>>> list1[::2]
[1, 2, 7]
同样:
>>> list1[0:6:2]
[1, 2, 7]
步长可以是负数,改变方向(从尾部开始向左走):
>>> list1[::-2]
[8, 9, 3]
步长不能为0,要不就走不动了:

013元组:元组比较古板,没有列表那么灵活,元组不能被修改。和列表的区别:1、创建列表用中括号 [] 而创建元组大部分时候是用小括号(),而创建元组也可以不用小括号,直接用逗号隔开即可,比如:temp = 1 ,   。
元组中间插入元素怎么做呢?利用切片! 如:temp = ("你是","我是","大家是","是不是","呢")  插入用 temp = temp[:2]+('谁',)+temp[2:],注意中间的谁后面的逗号,和用到的是中括号

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

使用道具 举报

 楼主| 发表于 2019-11-25 22:49:59 | 显示全部楼层
print('red\tyellow\tgreen')
for red in range(0, 4):
    for yellow in range(0, 4):
        for green in range(2, 7):
            if red + yellow + green == 8:
                # 注意,下边不是字符串拼接,因此不用“+”哦~
                print(red, '\t', yellow, '\t', green)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-25 23:15:27 | 显示全部楼层
本帖最后由 晒肚皮的大青蛙 于 2019-11-26 09:28 编辑

第010讲:将member =  ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]修改一下代码打印成下图的样式。【请至少使用两种方法实现】

http://p2.so.qhmsg.com/t01b761d88868e29344.jpg

答案:

[code]方法一:
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])[/code
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 18:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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