漫天飞雪

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
新增内容:
    1、与用户交互
input
raw_input
 1 '''
 2 1、什么是与用户交互
 3     程序等待用户输入一些数据,然后程序执行完毕后为用户反馈信息
 4 
 5 2、为何程序要与用户交互
 6     为了让计算机能够像人一样与用户的交互
 7 
 8 3、如何用
 9     在python3中:
10         input
11 '''
12 # 在python3中,input会将用户输入的任何内容都存成字符串类型
13 # name=input('请输入你的账号名: ') #name='123'
14 # print(name,type(name))
15 
16 # 在python2中:raw_input会将用户输入的任何内容都存成字符串类型
17 '''
18 C:\Users\oldboy>python2
19 Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AMD64)] on win32
20 Type "help", "copyright", "credits" or "license" for more information.
21 >>> name=raw_input('>>>>>>>>>>>>>>>>>>>>>>>>>>>>: ')
22 >>>>>>>>>>>>>>>>>>>>>>>>>>>>: egon
23 >>>
24 >>>
25 >>>
26 >>> print(name)
27 egon
28 >>> print(name,type(name))
29 ('egon', <type 'str'>)
30 >>>
31 >>>
32 >>> name=raw_input('>>>>>>>>>>>>>>>>>>>>>>>>>>>>: ')
33 >>>>>>>>>>>>>>>>>>>>>>>>>>>>: 1231231231232
34 >>>
35 >>>
36 >>> print(name,type(name))
37 ('1231231231232', <type 'str'>)
38 >>>
39 >>>
40 >>> name
41 '1231231231232'
42 >>> name,type(name)
43 ('1231231231232', <type 'str'>)
44 '''
45 
46 #在python2中:input要求用户必须输入一个明确的数据类型,输入什么类型就存成什么类型
47 '''
48 >>> x=input("输入: ")
49 输入: egon
50 Traceback (most recent call last):
51   File "<stdin>", line 1, in <module>
52   File "<string>", line 1, in <module>
53 NameError: name 'egon' is not defined
54 >>> x=input("输入: ")
55 输入: 'egon'
56 >>>
57 >>> x,type(x)
58 ('egon', <type 'str'>)
59 >>>
60 >>>
61 >>>
62 >>> x=input("输入: ")
63 输入: [1,2,3]
64 >>>
65 >>> x,type(x)
66 ([1, 2, 3], <type 'list'>)
67 >>>
68 >>>
69 >>> y=raw_input('####: ')
70 ####: [1,2,2,3]
71 >>>
72 >>> y,type(y)
73 ('[1,2,2,3]', <type 'str'>)
74 
75 '''
用户交互
    2、格式化输出
 1 %s、%d等,代表占位符,表示位置被需要输入的数据类型代替。
 2 
 3 # name=input('please input your username:')
 4 # age=input('please input your age:')
 5 # print('my name is',name,'my age is',age)
 6 # print('my name is %s,my age is %s' %(name,age))
 7 
 8 '''
 9 my name is 输入的用户名,my age is 输入的年龄
10 '''
11 
12 # print('my name is %s my age is %s' %(18,'egon'))
13 
14 
15 # print('my name is %s my age is %d' %('egon',18))
16 # print('my name is %s my age is %s' %('egon',18))
17 # print('my name is %s my age is %s' %('egon',[1,2,3])) # %s可以接收任意类型的值
18 # print('my name is %s my age is %d' %('egon','xxx')) # %d只能接收数字类型
格式化输出
 1 name=input("请输入姓名:")
 2 age=input("请输入年龄:")
 3 sex=input("请输入性别")
 4 job=input("请输入工作")
 5 msg="""
 6 --------------%s--------------
 7 name    :    %s 
 8 age     :    %s
 9 sex     :    %s
10 job     :    %s
11 --------------info--------------
12 """ %(name,name,age,sex,job)
13 print(msg)
14 
15 # %s代表占位符
16 # print("--------------info--------------")
17 # print("name    :%s" % name)
18 # print("age     :%s" % age)
19 # print("sex     :%s" % sex)
20 # print("job     :%s" % job)
21 # print("--------------info--------------")
22 
23 格式化输出进阶:(加上字典)
24 city_info={
25     "beijing":{
26     "capital":"北京市",
27     "area":"1.641万平方千米",
28     "people":"2170.7万",
29 },
30     "zhejiang":{
31     "capital":"杭州市",
32     "area":"10.55万平方公里",
33     "people":"5657万人",
34 }
35 }
36 
37 info="""
38 =========%s========
39 省会      :%s
40 面积      :%s
41 人口      :%s
42 ========= end ========
43 """ % (city_info["beijing"]["capital"],city_info["beijing"]["capital"],city_info["beijing"]["area"],city_info["beijing"]["people"])
44 print(info)
格式化输出实例
    3、基本数据类型
 1         int
 2 #1、整型:int
 3 #作用:记录年龄,等级,QQ号,各种号码
 4 #定义:
 5 # age=18 #age=int(18)
 6 # print(age,type(age))
 7 #使用
 8 
 9         float
10 #2、浮点型:float
11 #作用:记录身高、体重、薪资
12 #定义:
13 # salary=3.1 #salary=float(3.1)
14 # print(salary,type(salary))
15 #使用:
16 
17         str
18 #3.字符类型:str
19 #作用:记录描述性质的数据,比如人的名字、性别、家庭地址、公司简介
20 #定义:在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号、双引号、三引号
21 
22 # name1='egon1'
23 # print(type(name1))
24 #
25 # name2="egon2"
26 # print(type(name2))
27 
28 # info="""
29 # compay
30 # name:OLDBOY
31 # addr:SH
32 # """ # 三引可以存多行
33 # print(type(info))
34 # print(info)
35 
36 # 注意引号的配对
37 # print("my name is 'egon'")
38 # print('my name is "egon"')
39 
40 # 使用:
41 # x=1
42 # y=2
43 # print(x+y)
44 # msg1='hello'
45 # msg2='world'
46 # print(msg1+msg2)
47 
48 # 强调:
49 #1、字符串之间可以相加:
50 # '1111'+2222
51 #2、字符串相加是新申请内存空间然后拷贝相加的字符串到新的空间中,效率不高
52 # print('my name is '+'egon'+' my age is '+'18')
53 
54 #3、字符串还可以做乘法运算
55 # print('hello'*10)
56 # print('='*100)
基本数据类型
创建字符串的三种写法及其区别
1 字符串大小比较
2     info1='hello',info2='zaijian',当info1和info2进行比较时,字符串将会按照A-Za-z得顺序,依次比较每一位上字符得大小。
3     >>> info1='hello'
4     >>> info2='zaijian'
5     >>> info1 > info2
字符串大小比较
      list
 1 #4 列表类型:list
 2 #作用:记录/存多个值,可以方便地取出来指定位置的值,比如人的多个爱好,一堆学生姓名
 3 #定义:在[]内用逗号分隔开多个任意类型的值
 4 l=[10,3.1,'egon',['a','b']] # l=list([10,3.1,'egon',['a','b']])
 5 # print(l)
 6 # print(l[0])
 7 # print(l[2])
 8 # print(l[3])
 9 # print(l[3][1])
10 
11 # l1=['a','b',['c',['d',]]]
12 # print(l1[2][1][0])
13 print(type(l))
14 
15 #使用:
16 # hobbies="read music sleep eat play"
17 # hobbies=["read","music","sleep","eat","play"]
18 # print(hobbies[2])
19 
20 students_info=[
21     ['egon',18,['play',]],
22     ['alex',18,['play','sleep']]
23 ]
24 print(students_info[1][2][0])
列表
      dict
 1 #5 字典类型:dict
 2 #作用:记录多个key:value值,优势是每一个值value都有其对应关系/映射关系key,而key对value有描述性的功能
 3 #定义: 在{}内用逗号分隔开多个key:value元素,其中value可以是任意的数据类型,而key通常应该是字符串类型
 4 # info={'name':'egon','sex':'male','age':18} #info=dict({'name':'egon','sex':'male','age':18})
 5 # print(type(info))
 6 
 7 # print(info['name'])
 8 
 9 # name  age  sex   comapy_info
10 # emp_info=['egon',18,'male',['oldboy',200,'SH']]
11 
12 # print(emp_info[2])
13 # print(emp_info[3][0])
14 
15 # emp_info={
16 #     'name':'egon',
17 #     'age':18,
18 #     'sex':'male',
19 #     'comapy_info':{
20 #         'cname':'oldboy',
21 #         'emp_count':200,
22 #         'addr':'SH'
23 #     }
24 # }
25 #
26 # print(emp_info['comapy_info']['cname'])
27 
28 
29 names={
30     'name1':'egon',
31     'name2':'alex'
32 }
字典
 1 使用字典保存各省的省会是什么以及省会的信息,
 2         例如 北京市 省会:直辖市 面积:XX  人口:XX  ,浙江省: 省会:杭州市  面积:XX 人口:XX
 3         最后取出北京市按以下格式打印
 4                 ========= 北京 ========
 5                 省会:%s
 6                 面积:%s
 7                 人口:%s
 8                 ========= end ========
 9 """
10 dic = {"浙江":{"省会":"杭州","面积":"100w","人口":"3000万"},
11 "北京市":{"省会":"直辖市","面积":"80w","人口":"5000万"}}
12 # 打印北京信息
13 msg = """
14 ========= %s ========
15         省会:%s
16         面积:%s
17         人口:%s
18 ========= end ========
19 """ % ("北京",dic["北京市"]["省会"],dic["北京市"]["面积"],dic["北京市"]["人口"])
使用字典保存各省的省会
      bool
 1 #6 布尔类型:bool
 2 #作用:用来作为判断的条件去用
 3 #定义:
 4 # tag=True # tag=bool(True)
 5 # tag=False
 6 # print(type(tag))
 7 
 8 #通过判断去得到布尔值
 9 
10 # print(age > 20)
11 # print(age >= 20)
12 
13 # age=18
14 # ==比较的是值
15 # print(age == 18)
16 # is:比较的是id是否相等
17 # 强调:id相等值一定相等,id不等但是值仍然可以相等
18 
19 # x=1
20 # y=x
21 # print(x is y)
22 
23 tag=True
24 print(id(tag))
25 
26 res=3 > 1
27 print(id(res))
28 
29 res2=1 < 10
30 print(id(res))
布尔类型
    4、运算符
  1 # 算数运算
  2 # res=1 + 3
  3 # print(res)
  4 # print(1 + 3)
  5 # print(10 / 3) #结果保留小数部分
  6 # print(10 // 3) # 只保留整数部分
  7 # print(10 % 3) # 取余数
  8 # print(2**3)
  9 
 10 # 比较运算:== != > < >= <=
 11 # 了解知识:
 12 # 数字之间可以互相比较大小
 13 # print(10 > 3)
 14 # print(10 > 3.1)
 15 
 16 # 而字符串只能与字符串比较大小(按照对应位置的字符参考ASCII表去比较的)
 17 # msg1='hello'
 18 # msg2='z'
 19 # print(msg1 > msg2)
 20 
 21 # A-Za-z
 22 # print('a' > 'Z')
 23 # print('Z' > 'Y')=
 24 # print(len('hello') > 3)
 25 # print('a' > 3)
 26 
 27 #列表只能与列表比较大小(按照对应位置的值依次比较,对应位置的值必须是相同的类型)
 28 # l1=[1,2,3]
 29 # l2=[10,]
 30 # print(l2 > l1)
 31 # l3=[10,2,'b',3]
 32 # l4=[10,2,'b','c']
 33 # print(l3 > l4)
 34 
 35 
 36 
 37 
 38 # 赋值运算
 39 # age=18
 40 # 增量赋值
 41 # age+=1 #age=age+1
 42 # print(age)
 43 
 44 # 链式赋值
 45 # x=100
 46 # y=x
 47 # z=x
 48 # x=z=y=100
 49 # print(id(x),id(y),id(z))
 50 
 51 # 交叉赋值
 52 # m=1000
 53 # n=2000
 54 #
 55 # # temp=m
 56 # # m=n
 57 # # n=temp
 58 # n,m=m,n
 59 # print(m,n)
 60 
 61 # 解压赋值
 62 # salaries=[11,22,33,44,55,]
 63 # mon1=salaries[0]
 64 # mon2=salaries[1]
 65 # mon3=salaries[2]
 66 # mon4=salaries[3]
 67 # mon5=salaries[4]
 68 # mon1,mon2,mon3,mon4,mon5=salaries
 69 # print(mon1,mon2,mon3,mon4,mon5)
 70 
 71 # 等号右面包含的值的个数必须与等号左边变量名的个数一致
 72 # mon1,mon2,mon3,mon4,mon5,mon6=salaries
 73 # mon1,mon2,mon3,mon4,=salaries
 74 
 75 # _=3333
 76 # print(_)
 77 # mon1,mon2,_,_,_=salaries
 78 # mon1,mon2,*_=salaries
 79 # print(mon1)
 80 # print(mon2)
 81 
 82 # salaries=[11,22,33,44,55,]
 83 # first=salaries[0]
 84 # last=salaries[4]
 85 
 86 # first,_,_,_,last=salaries
 87 # first,*_,last=salaries
 88 # print(first)
 89 # print(last)
 90 
 91 age=20
 92 sex='female'
 93 
 94 #逻辑运算
 95 # and:连接左右两个条件,只有在两个条件同时成立的情况下最终结果才为True
 96 # print(age > 18 and age < 26 and sex == 'female' and 1 > 3)
 97 
 98 # or:连接左右两个条件,但凡有一个条件成立最终结果就为True
 99 # print(1 > 3 or 2 > 4 or 'x' == 'y' or 1==1)
100 
101 # not
102 # print(not 1 > 3)
103 # print(not (1 > 3 or 2 > 4 or 'x' == 'y' or 1==1))
104 
105 res=(3>4 and 4>3) or (1==3 and ('x' == 'x' or 3 >3))
106 print(res)
运算符
赋值方式 (之前介绍过增量赋值)
链式赋值
y=1

y=x

 

y=x=a=b=c=1 (id相同)

 
交叉赋值 (m,n值交换)
m=1

n=2

x=m

m=n

n=x

 

m=1

n=2

m, n=n, m

 
变量的解压
salaries = [11,12,13,14,15]

mon1_sal=salaries [0]

……

mon5_sal=salaries [4]

 

mon1_sal,  mon2_sal, mon3_sal, mon4_sal, mon5_sal = salaries

注:左右数量必须一一对应,否则报错

 

mon1_sal, xxx, xx, xx, mon5_sal = salaries

mon1_sal, _, _, _, mon5_sal = salaries (约定‘_’代表抛弃的变量名)

*_, mon5_sal = salaries(‘*’代表所有)

 
input () for python2, python3
python3, 只有 input(); input()将用户输入的内容全部存为字符串类型
python2
raw_input() 等同于  python3 的input();将用户输入的内容全部存为字符串类型,不考虑输入类型。是python 2 的主要输入交互方式。

input() , 必须输入明确的数据类型,且输什么存什么。

 
while (条件循环) 条件:
循环体

   else#若循环完毕后 while 没有被break打断,else所接的代码才被执行(最后被执行); 用处不大

 
身份运算是is;==不是身份运算
 
and or not 从左向右直行
False or True  and False or True

False   or    True and False or True # 取第一个运算符看左右,若仅凭左边和运算符可以判断,右边的式子可忽略, True

True    and     False or True # 重复上一步, True

                False or True  # 重复上一步, True

所以, 结果为True

 
pass #什么都不做,可以做占位符
if 条件:

       pass

elif 条件:

pass

   elif 条件:

       pass

   # 若无pass/循环体,系统报错; if 后面可不接else/ elif;if中只执行一层代码。
 数据类型int,float

复制代码
 1 #一:基本使用:int
 2 # 1 用途:记录年龄、等级、号码
 3 #
 4 # 2 定义方式
 5 age=18 #age=int(18)
 6 # print(type(age))
 7 # int('abadf') #报错
 8 # int('10.1') #报错
 9 # int('101') #int只能将字符串中包含纯数字转成整型
10 
11 # 进制转换(了解**)
12 # 其他进制转成十进制
13 # 二进制:0,1
14 # 10 #1*(2**1) + 0*(2**0)
15 # # 十进制:0-9
16 # 371 #3*(10**2) + 7*(10**1) + 1*(10**0)
17 # # 八进制:0-7
18 # 371 #3*(8**2) + 7*(8**1) + 1*(8**0)
19 # # 十六进制:0-9 A-F
20 # 371 #3*(16**2) + 7*(16**1) + 1*(8**0)
21 
22 # 十进制转成其他进制
23 # print(bin(12))
24 # print(oct(12)) #14 =>1*(8**1) + 4*(8**0)
25 # print(hex(16))
26 
27 # 3 常用操作+内置的方法
28 
29 #二:该类型总结
30 # 1 存一个值
31 #
32 # 3 不可变
33 # x=10
34 # print(id(x))
35 # x=11
36 # print(id(x))
37 
38 
39 #一:基本使用:float
40 # 1 用途:记录身高、体重、薪资
41 #
42 # 2 定义方式
43 # salary=3.1 #salary=float(3.1)
44 
45 # res=float('3.3')
46 # print(type(res))
47 
48 # 3 常用操作+内置的方法
49 
50 #二:该类型总结
51 # 1 存一个值
52 #
53 # 3 不可变
54 x=10.3
55 print(id(x))
56 x=10.4
57 print(id(x))
数据类型str以及内置方法

复制代码
  1 #一:基本使用
  2 # 1 用途:记录描述性的状态,比如人的名字、地址、性别
  3 
  4 # 2 定义方式:在"",'',""""""内包含一系列的字符
  5 # msg='hello' #msg=str('hello')
  6 # res1=str(1)
  7 # res2=str([1,2,3])
  8 # print(type(res1),type(res2))
  9 # info="'xxx'"
 10 
 11 # 3 常用操作+内置的方法
 12 #优先掌握的操作:
 13 #1、按索引取值(正向取+反向取) :只能取
 14 # msg='hello world'
 15 # print(msg[4])
 16 # print(msg[-1])
 17 # msg[3]='A'
 18 # name='egon'
 19 
 20 
 21 #2、切片(顾头不顾尾,步长)
 22 # msg='hello world' # 就是从一个大的字符串中切分出一个全新的子字符串
 23 # print(msg[0:5])
 24 # print(msg) # 没有改变原值
 25 
 26 # print(msg[0:5:1])
 27 # print(msg[0:5])
 28 # print(msg[0:5:2]) #hlo
 29 
 30 # 了解:
 31 # print(msg[0:5:1])
 32 # msg='hello world'
 33 # print(msg[5:0:-1])
 34 # print(msg[5::-1])
 35 # print(msg[-1::-1])
 36 # print(msg[::-1])
 37 
 38 #3、长度len
 39 # msg='hello world'
 40 # print(len(msg))
 41 
 42 #4、成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中
 43 # print('alex' in 'alex is dsb')
 44 # print('dsb' in 'alex is dsb')
 45 # print('sb' in 'alex is dsb')
 46 # print('xxx' not in 'alex is dsb') # 推荐
 47 # print(not 'xxx' in 'alex is dsb')
 48 
 49 #5、去掉字符串左右两边的字符strip,不管中间的
 50 
 51 # user='      egon       '
 52 # user='   x   egon       '
 53 # user="*******egon********"
 54 # user=" **+*  */***egon*  **-*****"
 55 # print(user.strip("* +/-"))
 56 
 57 # user=input('>>>: ').strip()
 58 # if user == "egon":
 59 #     print('用户名正确')
 60 
 61 #6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
 62 
 63 # msg="root:123456:0:0::/root:/bin/bash"
 64 # res=msg.split(':')
 65 # print(res[1])
 66 
 67 # cmd='dowload|a.txt|3333333'
 68 # cmd_name,filename,filesize=cmd.split('|')
 69 
 70 #7、循环
 71 # msg='hello'
 72 # for item in msg:
 73 #     print(item)
 74 
 75 # 需要你掌握的
 76 #1、strip,lstrip,rstrip
 77 # print('*****egon*****'.lstrip('*'))
 78 # print('*****egon*****'.rstrip('*'))
 79 # print('*****egon*****'.strip('*'))
 80 
 81 #2、lower,upper
 82 # msg='aABBBBb'
 83 # res=msg.lower()
 84 # print(res)
 85 # print(msg)
 86 
 87 #3、startswith,endswith
 88 # msg='alex is dsb'
 89 # print(msg.startswith('alex'))
 90 # print(msg.endswith('sb'))
 91 # print(msg.endswith('b'))
 92 
 93 #4、format的三种玩法
 94 # print('my name is %s my age is %s' %('egon',18))
 95 # print('my name is {name} my age is {age}'.format(age=18,name='egon'))
 96 
 97 # 了解
 98 # print('my name is {} my age is {}'.format(18,'egon'))
 99 # print('my name is {0} my age is {1}{1}'.format(18,'egon'))
100 
101 #5、split,rsplit
102 # msg='get|a.txt|333331231'
103 # # print(msg.split('|',1))
104 # print(msg.split('|',1))
105 # print(msg.rsplit('|',1))
106 
107 #6、join
108 # msg='get|a.txt|333331231'
109 # l=msg.split('|')
110 # print(l)
111 #
112 # src_msg='|'.join(l)
113 # print(src_msg)
114 
115 #7、replace
116 # msg='alex say i have one tesla,alex is alex hahaha'
117 # print(msg.replace('alex','sb',1))
118 # print(msg)
119 
120 #8、isdigit # 判断字符串中包含的是否为纯数字
121 # print('10.1'.isdigit())
122 # age=input('>>: ').strip()
123 # if age.isdigit():
124 #     age=int(age) #int('asfdsadfsd')
125 #     if age > 30:
126 #         print('too big')
127 #     elif age < 30:
128 #         print('too small')
129 #     else:
130 #         print('you got it')
131 # else:
132 #     print('必须输入数字')
133 
134 # 需要了解的内置方法
135 #1、find,rfind,index,rindex,count
136 msg='hello alex is sb'
137 # print(msg.find('alex'))
138 # print(msg.find('alex',0,3))
139 
140 # print(msg.index('alex'))
141 # print(msg.index('alex',0,3))
142 
143 
144 # msg='alex aaa alex'
145 # print(msg.find('alex'))
146 # print(msg.rfind('alex'))
147 
148 # msg='alex aaa alex'
149 # print(msg.count('alex')) # 统计一个子字符串在大字符串中出现的次数
150 
151 
152 #2、center,ljust,rjust,zfill
153 # print('egon'.center(50,'*'))
154 # print('egon'.ljust(50,'*'))
155 # print('egon'.rjust(50,'*'))
156 # print('egon'.zfill(50))
157 
158 #3、expandtabs
159 # print('a\tb'.expandtabs(1))
160 
161 #4、captalize,swapcase,title
162 # print('hello'.capitalize())
163 # print('hElLo'.swapcase())
164 # print('egon is nb'.title())
165 
166 #5、is数字系列
167 #在python3中
168 num1=b'4' #bytes
169 num2=u'4' #unicode,python3中无需加u就是unicode
170 num3='' #中文数字
171 num4='' #罗马数字
172 
173 # ''.isnumeric(): unicode,中文数字,罗马数字
174 # print(num2.isnumeric())
175 # print(num3.isnumeric())
176 # print(num4.isnumeric())
177 
178 # ''.isdecimal(): unicode
179 # print(num2.isdecimal())
180 # print(num3.isdecimal())
181 # print(num4.isdecimal())
182 
183 # ''.isdigit() :bytes,unicode
184 print(num1.isdigit())
185 print(num2.isdigit())
186 print(num3.isdigit())
187 print(num4.isdigit())
188 
189 
190 #6、is其他
191 # print('abc你'.isalpha()) # 字符串中包含的是字母或者中文字符
192 
193 # 字符串中包含的是字母(中文字符)或数字
194 # print('ab'.isalnum())
195 # print('123123'.isalnum())
196 # print('ab123'.isalnum())
197 
198 
199 
200 #二:该类型总结
201 # 1 存一个值
202 #
203 # 2 有序
204 
205 # 3 不可变
206 # x='abc'
207 # print(id(x))
208 # x='def'
209 # print(id(x))
210 
211     2、列表类型及内置方法
212 
213     3、元组及内置方法
214 #一:基本使用
215 # 1 用途:存放多个值,可以根据索引存取值
216 
217 # 2 定义方式:在[]内用逗号分割开多个任意类型的值
218 l=['egon','lxx','yxx'] # l=list(['egon','lxx','yxx'])
219 # l1=list('hello') #list就相当于调用了一个for循环依次取出'hello'的值放入列表
220 # print(l1)
221 # l2=list({'x':1,'y':2,'z':3})
222 # print(l2)
223 # list(10000) # 报错
224 
225 # 3 常用操作+内置的方法
226 #优先掌握的操作:
227 #1、按索引存取值(正向存取+反向存取):即可存也可以取
228 l=['egon','lxx','yxx']
229 # print(l[0])
230 # l[0]='EGON'
231 # print(l)
232 # print(l[-1])
233 # print(l[3])
234 # l[0]='EGON' # 只能根据已经存在的索引去改值
235 # l[3]='xxxxxxxx' #如果索引不存在直接报错
236 
237 #2、切片(顾头不顾尾,步长)
238 l=['egon','lxx','yxx',444,555,66666]
239 # print(l[0:5])
240 # print(l[0:5:2])
241 # print(l[::-1])
242 
243 #3、长度
244 # l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
245 # print(len(l))
246 
247 #4、成员运算in和not in
248 # l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
249 # print('lxx' in l)
250 # print(444 in l)
251 
252 #5、追加
253 l=['egon','lxx','yxx']
254 # l.append(44444)
255 # l.append(55555)
256 # print(l)
257 
258 #6、往指定索引前插入值
259 # l=['egon','lxx','yxx']
260 # l.insert(0,11111)
261 # print(l)
262 # l.insert(2,2222222)
263 # print(l)
264 
265 #7、删除
266 # l=['egon','lxx','yxx']
267 
268 # 单纯的删除值:
269 # 方式1:
270 # del l[1] # 通用的
271 # print(l)
272 
273 # 方式2:
274 # res=l.remove('lxx') # 指定要删除的值,返回是None
275 # print(l,res)
276 
277 # 从列表中拿走一个值
278 # res=l.pop(-1) # 按照索引删除值(默认是从末尾删除),返回删除的那个值
279 # print(l,res)
280 
281 #8、循环
282 # l=['egon','lxx','yxx']
283 # for item in l:
284 #     print(item)
285 
286 # 需要掌握的操作
287 l=['egon','egon','lxx','yxx',444,555,66666]
288 # print(l.count('egon'))
289 # print(l.index('egon'))
290 # print(l.index('yxx',0,1))
291 # l.clear()
292 
293 # items=['a','b','c']
294 # items='hello'
295 # for item in items:
296 #     l.append(item)
297 # l.extend(items)
298 # print(l)
299 
300 # l=['egon','egon','lxx','yxx',444,555,66666]
301 # l.reverse()
302 # print(l)
303 
304 # nums=[3,-1,9,8,11]
305 # nums.sort(reverse=True)
306 # print(nums)
307 
308 # items=[1,'a','b',2]
309 # items.sort()
310 
311 
312 #二:该类型总结
313 # 1 存多个值
314 
315 #
316 # 2 有序
317 #
318 # 3 可变
319 # l=['a','b','c']
320 # print(id(l))
321 # l.append('d')
322 # print(id(l))
323 
324 
325 # 队列:先进先出
326 # l=[]
327 # # 入队
328 # l.append('first')
329 # l.append('second')
330 # l.append('third')
331 # print(l)
332 # # 出队
333 # print(l.pop(0))
334 # print(l.pop(0))
335 # print(l.pop(0))
336 
337 # 堆栈:先进后出
338 l=[]
339 # 入栈
340 l.append('first')
341 l.append('second')
342 l.append('third')
343 # print(l)
344 # 出栈
345 print(l.pop())
346 print(l.pop())
347 print(l.pop())

 


练习
 1 列表比较
 2     >>> list1=[1,2,3,4]
 3     >>> list2=[5,1,3,4]
 4     >>> list1 > list2
 5     False
 6      list1=[1,2,3,4],list2=[5,1,3,4],list1与list2标记,遵循相应位置上对应位置进行大小比较
 7      注意:1、字符串和列表得比较都必须时同类型得相应位置上得数据进行比较
 8            2、如果比较得位置上得不是同类型数据,则会报错,因为无法完成比较
 9     >>> list3=['1',2,3,4]
10     >>> list1 > list3
11     Traceback (most recent call last):
12       File "<stdin>", line 1, in <module>
13     TypeError: '>' not supported between instances of 'int' and 'str'
列表比较
 1 实现四则运算  数据由用户输入 数字2个  符号一个(+ - * /)
 2 # a = int(input("请输入第一个数"))
 3 # b = int(input("请输入第二个数"))
 4 # c = input("请输入运算符")
 5 # if c == "+":
 6 #     print(a + b)
 7 # elif c == "-":
 8 #     print(a - b)
 9 # elif c =="*" :
10 #     print(a * b)
11 # elif c == "/":
12 #     print(a / b)
13 # else:
14 #     print("兄弟 啥是四则运算?")
15 #
实现四则运算
posted on 2018-07-28 11:30  漫天飞雪世情难却  阅读(147)  评论(0编辑  收藏  举报