python编程练习(小甲鱼)第11-15课

    技术2024-04-13  104

    1.列表切片,可设置步长

    list1 = [1, 3, 2, 9, 7, 8] print(list1[2:5])#代表从索引2开始,直到索引5为止,但不包括索引5,即输出[2,9,7] print(list1[0:4:2])#代表从索引0开始,到索引4为止,步长为2

    2.pop([index=-1])移出列表中的一个元素,默认最后一个元素,并且返回该元素的值

    list1 = [1, 3, 2, 9, 7, 8] list1.pop() print(list1)#[1,3,2,9,7]

    3.简洁分片操作

    list1[::2] print(list1[::2])#[1,2,7]只设置步长

    4.可以利用分片完成列表的拷贝,例:list2=list1[:],实现了标签和内容的拷贝。

    old = [1, 2, 3, 4, 5] new = old#这里new和old是指向同一列表的两个标签 old = [6]#当old被重新赋值时,old和new将指向不同的列表,不同于排序操作sort() print(new)#[1,2,3,4,5] print(old)#[6]

    5.返回参数在列表中的位置

    old = [1, 2, 3, 4, 5] print(old.index(4,0,4))#返回参数4在列表中的范围,查找范围为索引0-4

    6.列表[]元素可修改,元组()元素不可修改

    x,y = 1,2#元组 h = x,y print(type(h)) a = (0) print(type(a))#int a = (0,) print(type(a))#tuple

    7.\t横向制表符tab \r回车符

    print('\tmen')#输出 men print(r'\tmen')#输出\tmen,r表示原始字符串操作符

    8.字符串索引

    str1 = '<a href="http://www.fishc.com/dvd" target="_blank">' print(str1[16:29]) print(str1[-35:-22])#负数索引[16-51:29-51],字符串长度为51 print(str1[20:-20])#相当于索引值为[20:-20+51]

    9.请写一个密码安全性检查的脚本代码:check.py

    需求:

    低级密码要求:

    密码由单纯的数字或字母组成密码长度小于等于8位

    中级密码要求:

    密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合密码长度不能低于8位

    高级密码要求:

    密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合密码只能由字母开头密码长度不能低于16位 symbols = "~!@#$%^&*()_=-/,.?<>;:[]{}\|" chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' nums = '0123456789' t = 'y' while t == 'y': passwd = input('请输入密码:') length = len(passwd) #判断长度 while(passwd.isspace() or length == 0):#isspace()检查字符串是否只包含空格 passwd = input('您输入的密码为空(或空格),请重新输入:') length = len(passwd) if length <= 8: flag_len = 1 else: flag_len = 2 if length >= 16: flag_len = 3 flag_a,flag_b,flag_c= 0,0,0 #判断是否包含特殊字符 for each in passwd: if each in symbols: flag_a +=1 break #判断是否包含字母 for each in passwd: if each in chars: flag_b += 1 break #判断是否包含数字 for each in passwd: if each in nums: flag_c += 1 break #打印结果 while True: if flag_len == 1 and(flag_b or flag_c ==1) : print("您的密码安全级别评定为:低") elif flag_len == 2 and(flag_a+flag_b+flag_c==2): print("您的密码安全级别评定为:中") elif flag_len == 3 and(flag_a+flag_b+flag_c==3) and passwd[0] in chars: print("您的密码安全级别评定为:高") print("请继续保持") else: print('密码格式无法判别') break t = input("还要再测试么?(输入'y'继续,输入'n'退出)")

    10.str.format()格式化字符串的函数

    print("{0} {1}".format("不打印", "打印"))#设置指定位置,输出不打印 打印 print('{0}{1:.2f}'.format('Pi = ', 3.1415))#输出Pi = 3.14,位置对应,浮点数保留两位小数

    11.编写一个进制转换程序,程序演示如下(提示,十进制转换二进制可以用bin()这个BIF)

    请输入一个整数(输入Q结束程序):34 十进制 -> 十六进制:34 -> 0x22 十进制 -> 八进制:34 -> 0o42 十进制 -> 二进制:34 -> 0b100010 请输入一个整数(输入Q结束程序): num = input("请输入一个整数(输入Q结束程序):") while num != 'Q': num = int(num) print('十进制 -> 十六进制:%d -> %#x'%(num,num))# #在八进制数前面显示 '0o',在十六进制数前面显示 '0x' 或 '0X' print('十进制 -> 八进制:%d -> %#o'%(num,num)) print('十进制 -> 二进制:%d -> '%num,bin(num)) num = input("请输入一个整数(输入Q结束程序):") if num == 'Q': break
    Processed: 0.010, SQL: 9