Python入门(二)
前言
此文章为本人学习Python时的一些练习代码。
四、程序流程控制
if、if-else 、if-elif-else结构
#coding=utf-8
score = float(input("请输入本次考试分数"))
#if语句
if (score > 90) :
print ('A')
#if-else
if(score > 60 and score < 90) :
print('B')
else :
print('C')
#if-elif-else
if(score > 90):
print("你真优秀!")
elif(score > 60) :
print("你得继续努力")
else:
print("woho!")
循环语句
- while
>>> i = 1
>>> while(i<10):
... if(i == 5) :
... break
... i += 1
... print(i)
... else : pirnt('oever')
...
2
3
4
5
- for
>>> for i in range(1,10):
... if(i == 4):
... break
... print(i)
... else :
... prnt('over')
跳转语句
- break
- continue
- return
五、容器类型的数据
序列
list、str、tuple、bytes
序列的索引
有正负索引
>>> str = 'nihao'
>>> str[0]
'n'
>>> str[-5]
'n'
加和乘操作
>>> a = 'ni'
>>> b = 'hao'
>>>
>>> a * 2
'nini'
>>> a + b
'nihao'
切片操作
语法:[start : end : step]
start是开始索引、end是结束索引、step是步长
>>> a = '0123456789'
>>> a[0:9:5]
'05'
>>> a[0:9:3]
'036'
>>> a[0:9]
'012345678'
>>> a[-10:-5]
'01234'
成员测试
- in
- not in
>>> a
'0123456789'
>>> '9' in a
True
>>> '0' not in a
False
列表
创建列表
>>> a = list('1234567890')
>>> a
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
>>> b = [1,2,3,4,5,6]
>>> b
[1, 2, 3, 4, 5, 6]
追加列表
>>> a
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
>>> b
[1, 2, 3, 4, 5, 6]
>>> a.append(10) # 添加单个元素
>>> a
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 10]
>>> b += a # 添加多个元素
>>> b
[1, 2, 3, 4, 5, 6, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 10]
>>> c = ['a','b']
>>> b.extend(c) # 添加多个元素
>>> b
[1, 2, 3, 4, 5, 6, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 10, 'a', 'b']
>>>
插入元素
list.insert(i,x)
>>> a.insert(3,'a')
>>> a
['1', '2', '3', 'a', '4', '5', '6', '7', '8', '9', '0', 10]
替换元素
>>> a
['1', '2', '3', 'a', '4', '5', '6', '7', '8', '9', '0', 10]
>>> a[3] = 'b' # 将序号3的元素替换掉
>>> a
['1', '2', '3', 'b', '4', '5', '6', '7', '8', '9', '0', 10]
>>>
删除元素
>>> a
['1', '2', '3', 'b', '4', '5', '6', '7', '8', '9', '0', 10]
>>> a.remove(10) # 删除元素10
>>> a
['1', '2', '3', 'b', '4', '5', '6', '7', '8', '9', '0']
>>> a +=b
>>> a
['1', '2', '3', 'b', '4', '5', '6', '7', '8', '9', '0', 1, 2, 3, 4, 5, 6, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 10, 'a', 'b']
>>> a.remove('1') # 删除元素 '1' 如果存在多个,则只删除第一个
>>> a
['2', '3', 'b', '4', '5', '6', '7', '8', '9', '0', 1, 2, 3, 4, 5, 6, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 10, 'a', 'b']
>>>
元组
元组(tuple)是一种不可变序列类型
创建元组
创建元组有两种方法。
- tuple(iterable)函数:参加iterable是可迭代对象(字符串、列表、元组、集合和字典等)。
- (元素1,元素2,元素3,…):指定具体的元组元素,元素之间以逗号分隔。对于元组元素,可以使用小括号括起来,也可以省略小括号。
>>> 21,22,23,24
(21, 22, 23, 24)
>>> ("hello","world")
('hello', 'world')
>>> ("hello","world",1,2,3)
('hello', 'world', 1, 2, 3)
>>> tuple("hello") #通过tuple()函数创建元组
('h', 'e', 'l', 'l', 'o')
>>> tuple([1,2,3])
(1, 2, 3)
>>> t=1, # 创建一个只有一个元素的元组,逗号不可省略
>>> t
(1,)
>>> type(t)
<class 'tuple'>
>>> a=() # 通过()可以创建空元组
>>> a
()
>>> type(a)
<class 'tuple'>
>>> a=(1,)
>>> a
(1,)
>>> type(a)
<class 'tuple'>
元组拆包
创建元组,并将多个数据放到元组中,这个过程被称为元组打包。与元组打包相反的操作是拆包,就是将元组中的元素取出,分别赋值给不同的变量。
>>> a = ("hello","world")
>>> a
('hello', 'world')
>>> b,c=a
>>> b
'hello'
>>> c
'world'
>>>
集合
集合(set)是一种可迭代的、无序的、不能包含重复元素的容器类型的数据。
创建集合
- set()函数
- {元素1,元素2,元素3,…}
>>> a=set("hello")
>>> a
{'h', 'l', 'o', 'e'}
>>> b={1,2,3,4,5}
>>> b
{1, 2, 3, 4, 5}
>>> c={}
>>> type(a)
<class 'set'>
>>> type(b)
<class 'set'>
>>> type(c)
<class 'dict'>
修改集合
- add(elem):添加元素,如果元素已经存在,则不能添加,不会抛出错误。
- remove(elem):删除元素,如果元素不存在,则抛出错误。
- clear( ):清除集合。
>>> test_set = {'zhangsan','lisi','xiaowang'}
>>> test_set.add('xiaoming')
>>> test_set
{'xiaoming', 'xiaowang', 'zhangsan', 'lisi'}
>>> test_set.remove(1) # 删除不存在的元素,报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 1
>>> test_set.remove('xiaowang')
>>> test_set
{'xiaoming', 'zhangsan', 'lisi'}
>>> 'xiaohong' in test_set
False
>>> 'xiaoming' in test_set
True
>>> test_set.add('xiaoming')
>>> test_set
{'xiaoming', 'zhangsan', 'lisi'}
>>> test_set.clear()
>>> test_set
set()
>>>
字典
字典由两部分视图构成:键视图(Key)和值视图(Value)。Key不能包含重复的元素,Value能 。在键视图中,键和值是成对出现的。
创建字典
- dict() 函数。
- {key1:value1,key2:value2,…,key_n:value_n}:指定具体的字典键值对,键值对之间以逗号分隔,最后用大括号括起来。
>>> a=dict({1:'xiaoming',2:'xiaohong',3:'lisi',5:'wangwu'})
>>> a
{1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu'}
>>> b=dict(((1,'xiaoming'),(2,'xiaohong')))
>>> b
{1: 'xiaoming', 2: 'xiaohong'}
>>> c=dict([(1,'xiaoming'),(2,'xiaohong')])
>>> c
{1: 'xiaoming', 2: 'xiaohong'}
>>> d=dict(zip([1,2,3],['xiaohong','xiaoming','xiaowang']))
>>> d
{1: 'xiaohong', 2: 'xiaoming', 3: 'xiaowang'}
>>> e={1: 'xiaoming', 2: 'xiaohong'}
>>> e
{1: 'xiaoming', 2: 'xiaohong'}
修改字典。
-
添加:
>>> a = {1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu'} >>> a[6]='huahua' >>> a {1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu', 6: 'huahua'} >>> a[7]=['tiantian','wangwangdui'] >>> a {1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu', 6: 'huahua', 7: ['tiantian', 'wangwangdui']} >>> a[8]={'info1':'test1','info2':'test2'} >>> a {1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu', 6: 'huahua', 7: ['tiantian', 'wangwangdui'], 8: {'info1': 'test1', 'info2': 'test2'}}
-
修改:
>>> a={1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu'} >>> a {1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu'} >>> a[1]=['huahua','tiantian'] >>> a {1: ['huahua', 'tiantian'], 2: 'xiaohong', 3: 'lisi', 5: 'wangwu'}
-
删除:
>>> a {1: ['huahua', 'tiantian'], 2: 'xiaohong', 3: 'lisi', 5: 'wangwu'} >>> a.pop(1) ['huahua', 'tiantian'] >>> a {2: 'xiaohong', 3: 'lisi', 5: 'wangwu'} >>>
访问字典试图
- items( ):返回字典的所有键值对视图。可以使用list( )函数返回键值对列表
- keys( ):返回字典键视图。可以使用list( )函数返回键列表
- values( ):返回字典值视图。可以使用list( )函数返回值列表
>>> a={1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu'}
>>> a
{1: 'xiaoming', 2: 'xiaohong', 3: 'lisi', 5: 'wangwu'}
>>> a.items()
dict_items([(1, 'xiaoming'), (2, 'xiaohong'), (3, 'lisi'), (5, 'wangwu')])
>>> b = a.items()
>>> b
dict_items([(1, 'xiaoming'), (2, 'xiaohong'), (3, 'lisi'), (5, 'wangwu')])
>>> type(b)
<class 'dict_items'>
>>> list(b)
[(1, 'xiaoming'), (2, 'xiaohong'), (3, 'lisi'), (5, 'wangwu')]
>>> list(b)[1]
(2, 'xiaohong')
>>> a.keys()
dict_keys([1, 2, 3, 5])
>>> c=a.keys()
>>> list(c)
[1, 2, 3, 5]
>>> list(c)[0]
1
>>> d=a.values()
>>> d
dict_values(['xiaoming', 'xiaohong', 'lisi', 'wangwu'])
>>> list(d)[4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> list(d)[3]
'wangwu'
>>>
遍历字典
s_dict={100:'张三',101:'小明',102:'小红'}
for key in s_dict.keys():
print(f"学号:{str(key)} -姓名:{s_dict[key]}")
for s_id,s_name in s_dict.items() :
print(f"学号:{s_id} -姓名:{s_name}")