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)是一种不可变序列类型

创建元组

创建元组有两种方法。

  1. tuple(iterable)函数:参加iterable是可迭代对象(字符串、列表、元组、集合和字典等)。
  2. (元素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)是一种可迭代的、无序的、不能包含重复元素的容器类型的数据。

创建集合

  1. set()函数
  2. {元素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能 。在键视图中,键和值是成对出现的。

创建字典

  1. dict() 函数。
  2. {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}")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值