• 0004-20180422-自动化第五章-python基础学习笔记




    内容回顾:
    1.数据类型

    2.for和while循环
    continue
    break

    #如下循环将怎么打印结果?
    for i in range(1,10):
    print(i)
    for i in range(10,20):
    print(i)

    #如下循环将怎么打印结果?----结果只打印1
    for i in range(1,10):
    print(i)
    break
    for i in range(10,20):
    print(i)

    #如下循环将怎么打印结果?----只打印1,10-19
    for i in range(1,10):
    print(i)
    for i in range(10,20):
    print(i)
    break


    #如下循环将怎么打印结果?----1,10;2,10;...9,10结束
    for i in range(1,10):
    print(i)
    for i in range(10,20):
    print(i)
    break

    #如果需要打印1,10,2---如何实现
    flag = False
    for i in range(1,10):
    print(i)
    if flag:
    break
    for i in range(10,20):
    print(i)
    flag = True
    break


    #使用continue########################
    #如下循环将怎么打印结果?----只打印1-9 ,第二个for循环不会执行
    for i in range(1,10):
    print(i)
    continue
    for i in range(10,20):
    print(i)

    ######################################

    #如下循环将怎么打印结果?---- 只打印1-9 ,第二个for循环的结果不会被打印
    for i in range(1,10):
    print(i)
    for i in range(10,20):
    continue
    print(i)


    #for 和while一起循环,但while将进行永久无限循环
    for i in range(1, 10):
    print(i)
    while True:
    print(i)


    #range循环嵌套##################
    #如下循环将怎么打印结果?1,1-9;2,2-9 ...9,9
    for i in range(1,10):
    print(i)
    for j in range(i,10):
    print(j)

    #如下循环将怎么打印结果?1,10-2;2,10-3...9,10
    for i in range(1,10):
    print(i)
    for j in range(10,i,-1):
    print(j)
    ###################################




    3.编码
    ascii - 8
    unicode - 16,32
    utf-8 -8~32
    gbk -16

    4字符串格式化
    - “asdf%s,sdfsdf%d" %('11',4)
    - “asdf%s,sdfsdf" %'11' #只一个时,可以不用括号
    - “asdf%s,sdfsdf%%" %'11' #如果需要显示百分号,需要两个%
    - 占位符用在变量后面也可以进行格式化
    tpl = "我叫%sfdf"
    name = tpl %('骑兵',)
    name = tpl %('步兵',)

    5.变量
    name = 'xxx'
    #不能使用py已经使用的内置名称作为变量名称,如list,str,tuple ,dict,bool,int等

    6.条件语句
    if xxx:
    pass
    elif xxxx:
    pass
    else:
    pass

    7. 长度
    len(xxx)

    8.索引操作
    str:
    v = "xxxx"
    v[0]
    tuple:

    list

    dict: #无序

    9. 运算符
    - 除法py2和py3的区别
    - 字符串相乘
    - 字符串相加
    - += -=
    - or and 顺序(如果第一个为True,并且第一个运算符为or,后面不用再看了)
    - in ,not in
    dic = {
    'k1': 'v1',
    'k2': 'v2'
    }
    li = [11,22,33,44]
    #1.列表,查看是否存在其中
    if 11 in li :
    pass

    #2.字典,查看key是否在其中
    "k1" in dic
    for item in dic:
    print(item)

    for k in dic.keys():
    print(k)

    if "k1" in dic:
    pass

    #3.字典, 查看value是否存在
    v1 in dic.values():


    #4.字典循环实现#3的需求,检查"v1"是否在字典 dic = {'k1': 'v1','k2': 'v2'}里
    val = "v1"
    result = False
    for item in dic.values():
    if item == val:
    result = True
    break
    print(result)



    10. py2,py3区别
    -
    raw_input()
    input()

    -
    range
    xrange

    range

    -
    ascii(#-*-encoding:utf-8 -*-)
    utf-8
    -
    print "alex" py2支持
    print(alex) py2支持,py3支持


    11. 字符串功能
    - 大小写
    - 首字母大写
    - 分割
    split('*',1)
    分割成已的如两部分时,可以这样:
    a,b = split('*',1)
    - 去除空白
    - 替换
    - "xx".join(["11","22","abc"]) #可迭代的对象#列表中元素必须是字符串
    - 是否是10进制数

    判断字符串是否以XX开头:
    方法1:
    name = "aleX"
    if name[0:2] == 'al':
    pass
    else:
    pass

    方法2:
    name = "aleX"
    if name.startswith('al'):
    pass
    else:
    pass

    判断字符串是否以XX结尾:
    name = "aleX"
    if name.endswith('al'):
    pass
    else:
    pass


    字符串的---子序列:
    msg = "asdfbgnekimkg"
    #单独,称为字符 如 a 或e等
    #多个字符组成并且属于这个字符串的字符一起称为----称为子序列 如asdf等

    12.列表
    - 追加
    - 插入,可指定位置
    - 反转
    - 长度
    - for 循环

    - 索引的删除 # del li[0]
    #切片和步长 li[0:3:1]
    嵌套:[
    1,[33,44],"xxx"
    ]

    #补充####################:
    li = [11,22,33,44,66]
    1.索引为奇数的值,删除
    #补充:删除列表元素时,删除后会影响列表长度,从而使得索引取值时,容易出现错误
    #方法1:
    li = [11, 22, 33, 44, 66]
    new_list = []
    for i in range(0,len(li)):
    if i%2 == 0:
    new_list.append(li[i])
    li = new_list
    print(li)

    #方法2:---从后面往前面找奇数
    li = [11, 22, 33, 44, 66]
    for i in range(len(li)-1,-1,-1):
    if i%2 == 1:
    del li[i]
    print(li)

    2.切片+步长也可以删除元素
    li = [11, 22, 33, 44, 66]
    #del li[0:4]
    del li[0:5:2]
    print(li)


    13.tuple
    - 元素,不可变
    - a = (1,) #元组中一个元素时,记得加上逗号,加上逗号为元组类型,如果元素为数字不加逗号,则为int类型;如果元素为字符串,不加逗号为str类型

    val = (1,)
    print(val,type(val))

    val = ("aa",)
    print(val,type(val))



    14.字典
    dic = {'k1':"v1",'k2':"v2"}
    data = dic.get('kk1') #None

    len
    dic['k1'] = "v1"
    for
    val = "v1" in dic # False

    #出错点:
    #题: dic = {'k1': 'v1','k2': 'v2,'k11': 'v11',} 把key= 'k1’的键值对删除
    del dic['k1']

    #题: dic = {'u1': 'v1','k2': 'v2,'k3': 'v3',} 把key= k的键值对删除
    #不要在循环字典的过程中,修改当前字典大小

    方法1:
    dic_key_list = []
    for key in dic: #只循环
    dic_key_list.append(key)
    #print(dic_key_list)
    for row in dic_key_list: #循环其他内容,然后修改字典
    if 'k' in row:
    #print(row)
    del dic[row]
    print(dic)


    15. int
    - 最少用多少个二进制位表示


    16. 字符串和布尔值相互转化
    - v = "123"
    val = int(v)

    v = 123
    val = str(str)

    int -数字永远不可能与列表和元组互相转换
    str -字符串与列表和元组的关系

    字符串转换为列表和元组
    v = "sdfafdffeff132344"
    val = list(v) #默认会循环所有字符串
    val = tuple(v) #默认会循环所有字符串



    列表与元组互相转换:
    list
    v = (1,2,3)
    val = list(v)

    tuple
    v = [11,22,33,44]
    v = tuple(v)

    列表或元组换为字符串:

    列表转换为字符串:
    v = ['礼券','龙哥','老头']
    val = str(v) #"['礼券','龙哥','老头']" ----默认此方法不行---可使用jion
    --->
    val = "".join(v)
    print(val) #"礼券龙哥老头"

    元组转换为字符串:
    v = ('礼券','龙哥','老头')
    val = "".join(v)
    print(val) #"礼券龙哥老头"


    17.布尔值
    True,False
    False: 0,None,"",{},[],()

    #备注:其他语言中,null相当于py中的None
    #null 指指向一块空的内存,所有创建的空的对象都执行此空间----null,py中的None功能类似此


    #################
    #################

    第五章复习课程笔记:



    内容回顾:
    1.数据类型

    2.for和while循环
    continue
    break

    #如下循环将怎么打印结果?
    for i in range(1,10):
    print(i)
    for i in range(10,20):
    print(i)

    #如下循环将怎么打印结果?----结果只打印1
    for i in range(1,10):
    print(i)
    break
    for i in range(10,20):
    print(i)

    #如下循环将怎么打印结果?----只打印1,10-19
    for i in range(1,10):
    print(i)
    for i in range(10,20):
    print(i)
    break


    #如下循环将怎么打印结果?----1,10;2,10;...9,10结束
    for i in range(1,10):
    print(i)
    for i in range(10,20):
    print(i)
    break

    #如果需要打印1,10,2---如何实现
    flag = False
    for i in range(1,10):
    print(i)
    if flag:
    break
    for i in range(10,20):
    print(i)
    flag = True
    break


    #使用continue########################
    #如下循环将怎么打印结果?----只打印1-9 ,第二个for循环不会执行
    for i in range(1,10):
    print(i)
    continue
    for i in range(10,20):
    print(i)

    ######################################

    #如下循环将怎么打印结果?---- 只打印1-9 ,第二个for循环的结果不会被打印
    for i in range(1,10):
    print(i)
    for i in range(10,20):
    continue
    print(i)


    #for 和while一起循环,但while将进行永久无限循环
    for i in range(1, 10):
    print(i)
    while True:
    print(i)


    #range循环嵌套##################
    #如下循环将怎么打印结果?1,1-9;2,2-9 ...9,9
    for i in range(1,10):
    print(i)
    for j in range(i,10):
    print(j)

    #如下循环将怎么打印结果?1,10-2;2,10-3...9,10
    for i in range(1,10):
    print(i)
    for j in range(10,i,-1):
    print(j)
    ###################################




    3.编码
    ascii - 8
    unicode - 16,32
    utf-8 -8~32
    gbk -16

    4字符串格式化
    - “asdf%s,sdfsdf%d" %('11',4)
    - “asdf%s,sdfsdf" %'11' #只一个时,可以不用括号
    - “asdf%s,sdfsdf%%" %'11' #如果需要显示百分号,需要两个%
    - 占位符用在变量后面也可以进行格式化
    tpl = "我叫%sfdf"
    name = tpl %('骑兵',)
    name = tpl %('步兵',)

    5.变量
    name = 'xxx'
    #不能使用py已经使用的内置名称作为变量名称,如list,str,tuple ,dict,bool,int等

    6.条件语句
    if xxx:
    pass
    elif xxxx:
    pass
    else:
    pass

    7. 长度
    len(xxx)

    8.索引操作
    str:
    v = "xxxx"
    v[0]
    tuple:

    list

    dict: #无序

    9. 运算符
    - 除法py2和py3的区别
    - 字符串相乘
    - 字符串相加
    - += -=
    - or and 顺序(如果第一个为True,并且第一个运算符为or,后面不用再看了)
    - in ,not in
    dic = {
    'k1': 'v1',
    'k2': 'v2'
    }
    li = [11,22,33,44]
    #1.列表,查看是否存在其中
    if 11 in li :
    pass

    #2.字典,查看key是否在其中
    "k1" in dic
    for item in dic:
    print(item)

    for k in dic.keys():
    print(k)

    if "k1" in dic:
    pass

    #3.字典, 查看value是否存在
    v1 in dic.values():


    #4.字典循环实现#3的需求,检查"v1"是否在字典 dic = {'k1': 'v1','k2': 'v2'}里
    val = "v1"
    result = False
    for item in dic.values():
    if item == val:
    result = True
    break
    print(result)



    10. py2,py3区别
    -
    raw_input()
    input()

    -
    range
    xrange

    range

    -
    ascii(#-*-encoding:utf-8 -*-)
    utf-8
    -
    print "alex" py2支持
    print(alex) py2支持,py3支持


    11. 字符串功能
    - 大小写
    - 首字母大写
    - 分割
    split('*',1)
    分割成已的如两部分时,可以这样:
    a,b = split('*',1)
    - 去除空白
    - 替换
    - "xx".join(["11","22","abc"]) #可迭代的对象#列表中元素必须是字符串


    12.列表
    - 追加
    - 插入,可指定位置
    - 反转
    - 长度
    - for 循环

    - 索引的删除 # del li[0]
    #切片和步长 li[0:3:1]
    嵌套:[
    1,[33,44],"xxx"
    ]

    #补充####################:
    li = [11,22,33,44,66]
    1.索引为奇数的值,删除
    #补充:删除列表元素时,删除后会影响列表长度,从而使得索引取值时,容易出现错误
    #方法1:
    li = [11, 22, 33, 44, 66]
    new_list = []
    for i in range(0,len(li)):
    if i%2 == 0:
    new_list.append(li[i])
    li = new_list
    print(li)

    #方法2:---从后面往前面找奇数
    li = [11, 22, 33, 44, 66]
    for i in range(len(li)-1,-1,-1):
    if i%2 == 1:
    del li[i]
    print(li)

    2.切片+步长也可以删除元素
    li = [11, 22, 33, 44, 66]
    #del li[0:4]
    del li[0:5:2]
    print(li)


    13.tuple
    - 元素,不可变
    - a = (1,) #元组中一个元素时,记得加上逗号,加上逗号为元组类型,如果元素为数字不加逗号,则为int类型;如果元素为字符串,不加逗号为str类型

    val = (1,)
    print(val,type(val))

    val = ("aa",)
    print(val,type(val))



    14.字典
    dic = {'k1':"v1",'k2':"v2"}
    data = dic.get('kk1') #None

    len
    dic['k1'] = "v1"
    for
    val = "v1" in dic # False

    #出错点:
    #题: dic = {'k1': 'v1','k2': 'v2,'k11': 'v11',} 把key= 'k1’的键值对删除
    del dic['k1']

    #题: dic = {'u1': 'v1','k2': 'v2,'k3': 'v3',} 把key= k的键值对删除
    #不要在循环字典的过程中,修改当前字典大小

    方法1:
    dic_key_list = []
    for key in dic: #只循环
    dic_key_list.append(key)
    #print(dic_key_list)
    for row in dic_key_list: #循环其他内容,然后修改字典
    if 'k' in row:
    #print(row)
    del dic[row]
    print(dic)

    ========================================

    ========================================

    第五章练习题:

    1、执行pyth脚本的两种方式

    2、简述位、字节的关系

    3、简述ascii、unicode、utf-8、gbk的关系

    4、请写出“李杰”分别用utf-8和gbk编码所占的位数

    5、pyth单行注释和多行注释分别用什么?

    6、声明变量注意事项有哪些?

    7、如果有一下变量n1=5,请使用int的提供的方法,得到该变量最少可以用多少个二进制表示?
    用bit.lenth

    8、布尔值分别有什么?


    9、阅读代码,请写出执行的结果
    a = "alex"
    b = a.capitalize()
    print(a)
    print(b)

    请写出输出结果

    10、写代码,有如下变量,请按要求事项每个功能

    name = “ aleX”

    a.移除name变量对应的值两边的空格,并输出移除后的内容
    strip

    b.判断name变量对应的值是否以"al"开头,并输出结果
    方法1:通过索引取前两个值
    方法2:startswith

    c. 判断name变量对应的值是否以"X"结尾,并输出结果
    endswith

    d.将name变量对应的值中的"l"替换为"p",并输出结果
    replace

    e.将name变量对应的值根据"l"分割,并输出结果。
    split

    f.请问,上一题e分割之后得到值是什么类型(可选)?
    列表
    g.将name变量对应的值变大写,并输出结果
    upper
    h.将name变量对应的值变小写,并输出结果
    lower

    i.请输出name变量对应的值的第2个字符?
    [0]

    j.请输出name变量对应的值的前3个字符?
    [0:3]
    k.请输出name变量对应的值的后2个字符?
    [-2:]
    l.获取子序列,仅不包含最后一个字符。如oldboy 则获取oldbo; root 则获取roo
    [0:-1]

    11、写代码:使用while和for循环分别打印字符串每个元素。

    for循环:
    name = "alex"
    for v in name
    print(v)

    while循环:
    name = "alex"
    num = 0
    while num < len(name):
    print(name[num])
    num += 1

    for 和range一起实现:
    name = "alex"
    for v in rang(0,len(name)):
    print(name[v])

    12、请用代码实现:
    li = ['alex','eric','rain']
    利用下划线将列表的每一个元素拼接成字符串“alex_eric_rain”
    "_".join(li)

    13、实现一个整数加法计算器:
    如:
    content = input('请输入内容:') #如用户输入: 5+ 9 或5 + 9,然后分割再进行

    content = input('>>>') # 5 + 9
    a,b = content.split('+')

    a = int (a)
    b = int (b)
    print(a+b)


    14、计算用户输入的内容中有几个整数?
    如:
    content = input('请输入内容:') #如 asduiaf87123jkjsfd-213928

    content = input('>>>') #asduiaf87123jkjsfd-213928
    v = "asduiaf87123jkjsfd-213928"
    val = 0
    for count in v:
    if count.isdecimal():
    val +=1
    print(val)



    15、简述int 和9等数字以及str 和"xxoo"等字符串的关系?
    9是int类的对象
    "xxoo"是str类的对象

    16、制作趣味模板程序
    需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现
    如:敬爱可亲的XXX,最喜欢在XXX地方干XXX

    17、制作随机验证码,不区分大小写。
    流程:
    -用户执行程序
    -给用户显示需要输入的验证码
    -用户输入的值
    用户输入的值和显示的值相同时显示正确信息,否则继续生成随机验证码继续等待用户输入随机验证码



    18、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
    如敏感词列表 li = ["苍老师","东京热"],则将用户输入内容中出向任意敏感字符替换为***

    改变版---扩展题:
    #如果用户输入的内容中存在任意关键字,则提示用户重新输入
    #否则,打印结束
    li = ["老狗","成绩","海角"]


    #has_key为True表示有关键字,为False表示没有关键字
    while Ture:
    has_key = False
    content = input('>>>') #我叫老狗,我爱海角
    #循环所有关键字,查看是否内容中存在?
    for k in li:
    if k in content:
    print('请重新输入:')
    has_key = Ture
    break
    if has_key == False:
    break



    19、查找列表中元素,移除每个元素的空格,并查找以a或A开头,并且以c结尾的所有元素。
    li = ["alec","aric","Alex","Tony","rain"]
    tu = ("alec","aric","Alex","Tony","rain")
    dic = {'k1':'alex','k2':'aric','k3':'Alex','k4':'Tony'}

    li = ["alec","aric","Alex","Tony","rain"]
    for item in li:
    item = item.strip()
    #if item[0] == "a" or item[0] == "A" and item[-1] == "c": #---此行为错误写法

    正确写法:
    if (item[0] == "a" or item[0] == "A") and item[-1] == "c":
    或者if item[-1] == "c" and item[0] == "a" or item[0] == "A"
    或者使用关键字startswith或endswith
    pass




    20、写代码,有如下列表,按照要求事项每一个功能
    li = ['alex','eric','rain']

    a.计算列表长度并输出
    len(li)

    b. 列表中追加元素"seven",并输入添加后的列表
    li = ['alex','eric','rain']
    v = li.append('seven')
    print(v) #None
    print(li) #['alex','eric','rain','seven']

    c.请在列表的第1个位置插入元素"Tony",并输出添加后的列表
    li = ['alex','eric','rain']
    v = li.insert()


    d.请修改列表第2个位置的元素为"Kelly",并输出修改后的列表

    f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表

    g.请删除列表中的第3个元素,并输出删除元素后的列表

    h.请删除列表中的第2至4个元素,并输出删除元素后的列表

    i.请将列表所有的元素翻转,并输出翻转后的列表

    j.请使用while , len输出列表的索引值,如:0,1,2,3,4..

    k.请使用for循环输出列表的所有元素


    21.写代码,有如下列表,请按照功能要求实现每一个功能

    li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446]

    a.请根据索引输出"kelly"
    print(li[2][1][1])

    b.请使用索引找到'all'元素并将其修改为"ALL",如:li[0][1][9]...
    li[2][2] = li[2][2].upper()
    print(li)

    22、写代码,有如下元组,按照要求实现每一个功能
    tu = ('alex','eric','rain')

    a.计算元组长度并输出

    b.获取元组的第2个元素,并输出

    c.获取元组的第1-2个元素,并输出

    d. 请使用for输出元组的元素

    e.请使用while ,len 输出元组的索引值, 如0,1,2,3


    23.有如下变量,请实现要求的功能
    tu = ("alex",[11,22,{"k1":'v1,"k2":["age","name"],"k3":(11,22,33)},44])

    a.讲述元组的特性

    b.请问tu变量中的第一个元素"alex" 是否可被修改?
    不能修改

    c. 请问tu变量中的"k2"对应的值是什么类型,是否可以被修改,如果可以,请在其中添加一个元素“seven”



    d.请问tu变量中的"k3"对应的值是什么类型,是否可以被修改,如果可以,请在其中添加一个元素“seven”



    26、字典
    dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}

    a.请循环输出所有的key

    b. 请循环输出所有的value

    c.请循环输出所有的key和value

    d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典

    e.请在修改字典中"k1"对应的值为"alex",输出所有的字典

    f.请在k3对应的值中追加一个元素44,输出修改后的字典

    g.请在k3对应的值的第1个位置插入一个元素18,输出修改后的字典


    24、元素分类
    有如下集合[11,22,33,44,55,66,77,88,99],将大于66的值保存至字典的第一个key中,将小于66的保存至字典的第二个key中

    即:{'k1':大于66的所有的列表,'k2':小于66的所有的列表值}

    li = [11,22,33,44,55,66,77,88,99]
    dic = {'k1':[],'k2':[]}
    for item in li:
    if item > 66:
    dic.get('k1').append(item)
    elif item < 66:
    dic.get('k2').append(item)
    print(dic)


    #24扩展:
    #题目:
    li = [11,22,33,44,55,66,77,88,99]
    dic = {}
    #在循环中创建分别创建k1和k2,并将大于66的作为k1的值,小于66的作为k2的值
    #######
    for item in li:
    if item > 66:
    if 'k1' not in dic:
    dic['k1'] =[item,]
    else:
    dic['k1'].append(item)
    #print(dic)
    elif item < 66:
    if 'k2' not in dic:
    dic['k2'] = [item, ]
    else:
    dic['k2'].append(item)
    #print(dic)
    print(dic)

    25.输出商品列表,用户输入序号,显示用户选中的商品
    商品 li = ['手机','电脑','鼠标垫','游艇']
    要求:页面显示 序号+ 商品名称, 如:
    1 手机
    2 电脑
    ...

    26.列举字符串,数字中布尔值是False的所有值


    27.有两个列表
    l1 = [11,22,33]
    l2 = [22,33,44]

    a.获取内容相同的元素列表

    b.获取l1中有,l2中没有的元素列表

    c.获取l2中有,l1中没有的元素列表

    d.获取l1和l2中内容都不同的元素


    28、购物车
    功能要求:
    要求用户输入自己拥有的资产,如2000
    显示商品列表,让用户根据序号选择商品,加入购物车
    购买,如果商品总额大于资产,提示账号余额不足,否则,购买成。

    goods =[
    {"name":"电脑","price":1999}
    {"name":"鼠标","price":10}
    {"name":"游艇","price":20}
    {"name":"美女","price":998}
    ]


    39、分页显示内容
    a.通过for循环创建301条数据,数据类型不限,如:
    alex-1 alex1@live.com pwd1

    ...

    b.提示用户请输入要查看的页面,当用户输入指定的页面,则显示指定数据

    注意:
    -每页显示10条数据
    -用户输入页面是非10进制数字,则提示输入内容格式错误


    =====================================脚本===================================

    复习相关脚本:

      1 """
      2 #4 字符串格式化:
      3 tpl = "我叫%s"
      4 name = tpl %('骑兵',)
      5 #name = tpl %('步兵',)
      6 print(name)
      7 """
      8 
      9 
     10 
     11 #3.for循环
     12 
     13 """
     14 #如下循环将怎么打印结果?
     15 for i in range(1,10):
     16     print(i)
     17     for i in range(10,20):
     18         print(i)
     19 """
     20 
     21 """
     22 #如下循环将怎么打印结果?----结果只打印1
     23 for i in range(1, 10):
     24     print(i)
     25     break
     26     for i in range(10, 20):
     27         print(i)
     28 """
     29 
     30 """
     31 #如下循环将怎么打印结果?----只打印1,10-19
     32 for i in range(1,10):
     33     print(i)
     34     for i in range(10,20):
     35         print(i)
     36     break
     37 """
     38 
     39 """
     40 #如下循环将怎么打印结果?----1,10;2,10;...9,10结束
     41 for i in range(1,10):
     42     print(i)
     43     for i in range(10,20):
     44         print(i)
     45         break
     46 """
     47 
     48 
     49 """
     50 #如果需要打印1,10,2---如何实现
     51 flag = False
     52 for i in range(1,10):
     53     print(i)
     54     if flag:
     55         break
     56     for i in range(10,20):
     57         print(i)
     58         flag = True
     59         break
     60 
     61 """
     62 
     63 """
     64 #如下循环将怎么打印结果?----只打印1-9,第二个for循环不会执行
     65 for i in range(1, 10):
     66     print(i)
     67     continue
     68     for i in range(10, 20):
     69         print(i)
     70 """
     71 
     72 """
     73 #如下循环将怎么打印结果?----    只打印1-9    ,第二个for循环的结果不会被打印
     74 for i in range(1, 10):
     75     print(i)
     76     for i in range(10, 20):
     77         continue
     78         print(i)
     79 """
     80 
     81 """
     82 #for 和while一起循环,但while将进行永久无限循环
     83 for i in range(1, 10):
     84     print(i)
     85     while True:
     86         print(i)
     87 """
     88 
     89 """
     90 for i in range(1,10):
     91     print(i)
     92     for j in range(i,10):
     93         print(j)
     94 """
     95 
     96 """
     97 for i in range(1,10):
     98     print(i)
     99     for j in range(10,i,-1):
    100         print(j)
    101 """
    102 
    103 """
    104 #字典, 查看key是否存在
    105 dic = {'k1': 'v1','k2': 'v2'}
    106 "k1" in dic
    107 for k in dic.keys():
    108     print(k)
    109 if "k1" in dic.keys():
    110     print("k1")
    111 """
    112 
    113 
    114 """
    115 #字典, 查看value是否存在
    116 dic = {'k1': 'v1','k2': 'v2'}
    117 "v1" in dic
    118 for v in dic.values():
    119     print(v)
    120 if "v1" in dic.values():
    121     print("v1")
    122 """
    123 
    124 """
    125 字典循环实现上述的需求,检查"v1"是否在字典
    126 dic = {'k1': 'v1','k2': 'v2'}
    127 val = "v1"
    128 result = False
    129 for item in dic.values():
    130     if item == val:
    131         result = True
    132         break
    133 print(result)
    134 
    135 """
    136 
    137 #12
    138 # 补充####################:
    139 # 列表中索引为奇数的值,删除
    140 
    141 """
    142 #方法1:
    143 li = [11, 22, 33, 44, 66]
    144 new_list = []
    145 for i in range(0,len(li)):
    146     if i%2 == 0:
    147         new_list.append(li[i])
    148 li = new_list
    149 print(li)
    150 """
    151 
    152 """
    153 #方法2:---从后面往前面找奇数
    154 li = [11, 22, 33, 44, 66]
    155 for i in range(len(li)-1,-1,-1):
    156     if i%2 == 1:
    157         del li[i]
    158 print(li)
    159 """
    160 
    161 """
    162 #2.切片+步长也可以删除元素
    163 li = [11, 22, 33, 44, 66]
    164 #del li[0:4]
    165 del li[0:5:2]
    166 print(li)
    167 
    168 """
    169 
    170 
    171 # 值为奇数的值,删除
    172 
    173 #元组
    174 """
    175 val = ("aa",)
    176 print(val,type(val))
    177 """
    178 
    179 
    180 #字典
    181 """
    182 #取字典中不存在的key值时,为none
    183 dic = {'k1':"v1",'k2':"v2"}
    184 data = dic.get('kk1')
    185 print(data)
    186 """
    187 
    188 """
    189 #把key= 'k1’的键值对删除
    190 dic = {'k1':"v1",'k2':"v2",'k11':"v11"}
    191 del dic['k1']
    192 print(dic)
    193 
    194 """
    195 
    196 """
    197 #不要在循环字典的过程中修改当前字典大小!!!
    198 dic = {'u1':"v1",'k2':"v2",'k3':"v3"}
    199 dic_key_list = []
    200 for key in dic:
    201     dic_key_list.append(key)
    202     #print(dic_key_list)
    203 for row in dic_key_list:
    204     if 'k' in row:
    205         #print(row)
    206         del dic[row]
    207 print(dic)
    208 
    209 """
    210 
    211 #16
    212 #列表和元组转换为字符串
    213 """
    214 #列表转换为字符串
    215 v = ['礼券','龙哥','老头']
    216 val = "".join(v)
    217 print(val)
    218 
    219 """
    220 
    221 """
    222 #元组转换为字符串
    223 v = ('礼券','龙哥','老头')
    224 val = "".join(v)
    225 print(val)
    226 
    227 """

    练习题相关脚本:

     1 """
     2 #20题:
     3 #b
     4 li = ['alex','eric','rain']
     5 v = li.append('seven')
     6 print(v,'test')
     7 print(li)
     8 """
     9 
    10 """
    11 #21题
    12 #b
    13 li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446]
    14 li[2][2] = li[2][2].upper()
    15 print(li)
    16 """
    17 
    18 """
    19 #24题:
    20 li = [11,22,33,44,55,66,77,88,99]
    21 dic = {'k1':[],'k2':[]}
    22 for item in li:
    23     if item > 66:
    24         dic.get('k1').append(item)
    25         #dic['k1'].append(item)
    26     elif item < 66:
    27         dic.get('k2').append(item)
    28 print(dic)
    29 """
    30 
    31 #24扩展:
    32 #题目:
    33 li = [11,22,33,44,55,66,77,88,99]
    34 dic = {}
    35 #在循环中创建分别创建k1和k2,并将大于66的作为k1的值,小于66的作为k2的值
    36 #######
    37 for item in li:
    38     if item > 66:
    39         if 'k1' not in dic:
    40             dic['k1'] =[item,]
    41         else:
    42             dic['k1'].append(item)
    43         #print(dic)
    44     elif item < 66:
    45         if 'k2' not in dic:
    46             dic['k2'] = [item, ]
    47         else:
    48             dic['k2'].append(item)
    49         #print(dic)
    50 print(dic)
  • 相关阅读:
    第6章学习小结
    第5章学习小结
    python输入年月日,得出已经过了多少天?
    报错:"Windows安装程序无法将Windows配置为在此计算机的……""windows无法完成安装。若要在此计算机上安装windows,请……"解决方案
    Magic Book Pro 2019 Intel版 BIOS升级失败-重启后没有升级过程,解决方案
    为Linux rm删除命令添加一次提示,防误操作;提高安全性。
    UOS博客被攻击后——追根溯源-Wordpress-反弹shell-本地提权-Ubuntu
    Snort-IPS-入侵防御系统安装及部署小记
    Loading ips.rules: FATAL: ips.rules:3 undefined variable name: RULE_PATH. Fatal Error, Quitting..,Snort导入规则集后无法启动,官网教程Ubuntu安装Snort执行snort -c /usr/local/etc/snort/snort.lua出现问题
    [闲聊]Mac-QQ:“这很漂亮,不是吗?”
  • 原文地址:https://www.cnblogs.com/mypython2018/p/9658109.html
Copyright © 2020-2023  润新知