笔记2(分支,循环,列表:数组)

什么是"悬挂else"
与它上面的距离它最近的且在同一级语句块的一个未与else匹配的if语句匹配 ,初学C语言可能会犯下面这种错误,本意是else与第一个if语句匹配,但是因为第二个if语句也没有与之匹配的else语句,所以这个else会被编译器“判给”第二格if语句

 eg:
 
 if (hi>2)
    if(hi>7)
         printf("好棒!好棒!");
else
     print("切~");

三元操作符
语法:x if 条件 else y

有了三元操作符条件表达式,你可以使用一条语句来完成一下条件判断和赋值操作:

x,y = 4,5
if x<y:
    small = x
else:
    small = y

改为:
small = x if x< y else y //当if条件为真时把前面的x给了small,当if条件为假的时候把后面的y给了small。

断言(assert)
当这个关键字后面为假的时候,程序自动崩溃并抛出AssertionError的异常。

 eg:
 >>> assert 3>4
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    assert 3>4
AssertionError
>>> assert 4>3
>>> 

一般来说我们可以用它在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话。assert关键字就非常有用了

for循环
语法:
for 目标 in 表达式
循环体

>>> favourite = 'FishC'
>>> for i in favourite:
	print(i , end='  ')

长度输出

>>> number = ['枯藤','老树','昏鸦','小桥流水人家']
>>> for each in number:
    print(each,len(each))
	
枯藤 2
老树 2
昏鸦 2
小桥流水人家 6
>>> 

range()

语法:range([strat,] stop[, step=1])
这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
step=1表示第三个参数的默认值是1。
range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。
一个参数eg:

>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> for i in range(5):
	print(i)
	
0
1
2
3
4

两个参数eg:

for i in range(2,9):
	print(i)

	
2
3
4
5
6
7
8

三个参数eg:

>>> for i in range(1,10,2):
	print(i)
	
1
3
5
7
9

break:终止当前循环 跳出循环体
eg:

bingo='小甲鱼是帅哥'
answer=input('请输入小甲鱼最想听的一句话:')

while True:
    if answer == bingo:
        break
    answer = input('抱歉,错了,请重新输入(答案正确才能退出游戏):')

print('哎哟,帅哦~')
print('您真是小甲鱼肚子里的蛔虫啊^_^')

continue:终止本轮循环,并开始下一轮循环
for i in range(10):
    if i%2 !=0:
        print(i)
        continue
    i+=2
    print(i)

普通列表 混合列表 空列表
eg:

>>> member=['编辑','视角','第三人称','碰撞','粒子系统']
>>> member
['编辑', '视角', '第三人称', '碰撞', '粒子系统']
>>> number=[1,2,3,4,5]
>>> number
[1, 2, 3, 4, 5]

eg:

>>> max =[1,'更新',3.14,[1,2,3]]
>>> max
[1, '更新', 3.14, [1, 2, 3]]

eg:

>>> empty=[ ]
>>> empty
[ ]

向列表添加元素(都排在最后)
append( ) 注意:准备插入列表的函数
eg:

>>> member.append('矢量')
>>> member
['编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量']
>>> len(member)
6

extend( ) 注意: 用一个列表来扩展另一个列表
eg:

>>> member.extend(['方向','shot变量'])
>>> member
['编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量', '方向', 'shot变量']
>>> len(member)
8

insert( ) 括号中,前面表示你想让它排列在什么位置,后面则是你想要加的东西(在编程语言中序数索引值都是从零开始的)
eg:

>>> member.insert(0,'参数')
>>> member
['参数', '编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量', '方向', 'shot变量', '方向fg', 'shot变量', 'weizhi', ['矢量', 'rtyy']]
>>> 

从列表中获取元素(数据交换)
跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素,注意,索引值是从零开始的。

>>> member=['编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量']
>>> member[0]
'编辑'
>>> member[1]
'视角'
>>> temp = member[0]
>>> member[0]=member[1]
>>> member
['视角', '视角', '第三人称', '碰撞', '粒子系统', '矢量']
>>> 
>>> member[1]=temp
>>> member
['视角', '编辑', '第三人称', '碰撞', '粒子系统', '矢量']
>>> 

从列表中删除元素
remove( )
eg:

>>> member=['编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量']
>>> member
>>> member.remove('碰撞')
>>> member
['视角', '编辑', '第三人称', '粒子系统', '矢量']

del语句
eg:

>>> member=['编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量']
>>> member
['编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量']
>>> del member[1]
>>> member
['编辑', '第三人称', '碰撞', '粒子系统', '矢量']

pop()
eg:

>>> 
>>> member=['编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量']
>>> member
['编辑', '视角', '第三人称', '碰撞', '粒子系统', '矢量']
>>> member.pop()
'矢量'
>>> member
['编辑', '视角', '第三人称', '碰撞', '粒子系统']
>>> name = member.pop()
>>> name
'粒子系统'
>>> member
['编辑', '视角', '第三人称', '碰撞']
>>> member.pop(1)
'视角'
>>> 

列表分片(Slice)
利用索引值,每次我们可以从列表获取一个元素或多个元素
eg:

 >>> member=['编辑', '视角', '第三人称', '碰撞']
 >>> member
 ['编辑', '视角', '第三人称', '碰撞']
 >>> member[1:3]
 ['视角', '第三人称']
 >>> member
 ['编辑', '视角', '第三人称', '碰撞']
 >>> member[:3]
 ['编辑', '视角', '第三人称']
 >>> member[1:]
 ['视角', '第三人称', '碰撞']
 >>> member[:]
 ['编辑', '视角', '第三人称', '碰撞']
 >>> member2=member[:]
 >>> member2
 ['编辑', '视角', '第三人称', '碰撞']
 >>>            

列表常用操作符
1.比较操作符
2.逻辑操作符
3.链接操作符
4.重复操作符
5.成员关系操作符
eg:

 >>> list1=[123]
>>> list2=[234]
>>> list1>list2
False
>>> list1=[123,456]
>>> list2=[234,123]
>>> list1>list2
False
>>> (list1<list2)and(list1==list3)
True
>>> list4=list1+list2
>>> list3
[123, 456]
>>> list4
[123, 456, 234, 123]
>>> list1+'num'
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    list1+'num'
TypeError: can only concatenate list (not "str") to list
>>> list3*3
[123, 456, 123, 456, 123, 456]
>>> list3*=3
>>> list3
[123, 456, 123, 456, 123, 456]
>>> list3*=5
>>> list3
[123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456]
>>> 123 in list3
True
>>> 'num' not in list3
True
>>> 123 not in list3
False
>>> list5=[123,['编辑','视角'],456]
>>> '编辑' in list5
False
>>> '编辑' in list5[1]
True
>>> list5[1][1]
'视角'

count index reverse sort

>>> list3
[123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456]
>>> list3.count(123)        //出现了多少次
15
>>> list3.index(123)         //第一个出现位置的范围
0
>>> list3.index(123,3,7)   //123范围的起始位置 和结束位置
4
>>> list3.reverse()             //原地翻转
>>> list3
[456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123]
>>>
>>> list6=[4,2,5,1,9,23,32,0]    
>>> list6.sort()                       //排序
>>> list6
[0, 1, 2, 4, 5, 9, 23, 32]
>>> list6.sort(reverse=True)     
>>> list6
[32, 23, 9, 5, 4, 2, 1, 0]

猜你喜欢

转载自blog.csdn.net/qq_42716155/article/details/84591097