0
点赞
收藏
分享

微信扫一扫

09总结及作业(集合、字符串相关部分)

Fifi的天马行空 2022-02-24 阅读 62
python

一、总结

  1. 集合

    1. 是容器型数据类型,以{}作为容器的标志,并用逗号隔开
      可变的(支持增删改);无序(不支持下标)

    2. 集合对元素的要求:一是不可变数据,二是元素是唯一的

    3. 创建空集合:a = set()

    4. 集合的增删改查:

      • 查 – 只能遍历 (补充:用for循环遍历无序序列,系统在之前前自动将无序序列转为列表)例:set1 = {‘进击的巨人’, ‘海贼王’,‘一拳超人’}

      • 增 – 集合.add(元素)
        集合.update(序列) – 将序列中所有元素都添加到集合中

      • 删 – 集合.remove(元素)

    5. 集合运算
      1)交集:& – A和B交合的公共区域
      2)并集:| – A和B的所有
      3)差集:- – A-B或者B-A的结果
      4)对称差集:^ – A和B的非交合区域的集合
      5)子集:>=、<= – A集合内所有元素,也包括A本身
      6)真子集:>、< – 不包括A集合本身外其他的元素集合

  2. 字符串

    1. 概念:

      1. 是容器型数据类型,以2个单双引号或者3个单双引号作为标志,引号内每一个符号都是元素(也叫字符)
      2. 不可变(不支持增删改)、有序的(支持下标)
      3. 字符串的元素:一切符号都可以作为字符串的元素
      4. 字符分为:普通字符 和 转义字符
    2. 字符

      1. 普通字符 – 打印出字符本身的就是普通字符

      2. 转义字符 – 具有特殊功能和意义的符号就是转义字符,通用格式:\X、\XXX

        • \n – 表示换行

        • \t – 水平制表符,相当于按了一次TAB,缩进4个空格

        • ’ – 表示一个单引号( print(‘I say:‘你好,世界’’) )

        • " – 表示一个双引号( 同上一样的,在有歧义符号前加\ ,用于表示符号本身)

        • \ – 表示一个反斜杠

        • \ u 4位的16进制数 – 表示编码字符

        • r – 取消转义
          (注意:所有的转义字符的长度都是1)

      3. 字符编码 – 每个文字符号在计算机都对应一个固定的数字,这个数字就是这个符号的编码值

      4. 字符编码表

        • ASCII码表:只有128个字符、0-9(48-57)、A-Z(65-90)、a-z(97-122)
        • Unicode编码表:也叫万国码,中文编码范围:0x4e00 - 0x9fa5
      5. 编码值在python的应用

        • chr(编码值) – 根据编码值获取对应的字符(编码值为整数)

        • ord(字符) – 根据字符获取对应的编码值(字符:长度为1的字符串)

        • 在程序中药直接表示一个16进制数,直接在前面加: 0x/0X

        • hex(数字) – 将数字转换为16进制数

  3. 字符串的相关操作

      1. +、*   --  合并新的字符串和重复字符串N次
      2.  <、>、>=、<=  --  比较大小,两个字符串比较的是编码表,取第一个进行比较
      3. in 和 not in: 字符串1 in 字符串2  --  判断字符串1是否在字符串2中,即判断字符串1是否为2的子串,字符必须挨着,否在判断为假
    

二、作业

  1. 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)

    str1 = input('请任意输入一个字符串:')
    print(str1[1::2])
    
  2. 输入用户名,判断用户名是否合法(用户名长度6~10位)

    str2 = input('请任意输入一个字符串:')
    for i in str2:
        if 6 <= len(str2) <= 10:
            print('用户名合法')
            break
    else:
        print('不合法')
    
  3. 输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)

    str3 = input('请任意输入一个字符串:')
    for i in str3:
        if not ('a' <= i <= 'z' or 'A' <= i <= 'Z' or '0' <= i <= '9'):
            print('不合法')
            break
    else:
        print('合法')
    
  4. 输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)

  5. 输入一个字符串,将字符串中所有的数字字符取出来产生一个新的字符串

    str5 = input('请输入一个字符串:') 
    new_str = ''
    for i in str5:
        if '0' <= i <= '9':
            new_str += i
    print(new_str)
    
  6. 输入一个字符串,将字符串中所有的小写字母变成对应的大写字母输出 (用upper方法和自己写算法两种方式实现)

    str6 = input('请输入一个字符串:')
    a = str6.upper()
    print(a)
    
  7. 输入一个小于1000的数字,产生对应的学号

    num1 = 'py1901'
    str7 = input('请任意输入一个数字(1000以内):')
    if 0 < int(str7) <= 9:
        a1 = '00' + str7
        print(num1 + a1)
    elif 10 < int(str7) <= 99:
        a2 = '0' + str7
        print(num1 + a2)
    else:
        print(num1 + str7)
    
  8. 输入一个字符串,统计字符串中非数字字母的字符的个数

    str8 = input('请输入一个字符串:')
    count = 0
    for i in str8:
        if not ('A' < i < 'Z' or '0' <= i <= '9' or 'a' <= i <= 'z'):
            count += 1
    print(count)
    
  9. 输入字符串,将字符串的开头和结尾变成’+’,产生一个新的字符串

    str9 = input('请任意输入一个字符串:')
    new_str9 = str9[1:-1]
    print('+' + new_str9 + '+')
    
  10. 输入字符串,获取字符串的中间字符

    str10 = input('请任意输入一个字符串:')
    if len(str10) % 2 != 0: 
        a = len(str10) // 2
        print(str10[a])
    else:            
        a = len(str10) // 2
        print(str10[a - 1] + str10[a])
    
  11. 写程序实现字符串函数find/index的功能(获取字符串1中字符串2第一次出现的位置)

    
    
    
  12. 获取两个字符串中公共的字符

    str12 = input('请输入一个字符串:')
    str13 = input('请输入一个字符串:')
    new_str = ''
    for i in str12:
        if i in str13:
            new_str += i
    print(new_str)
    

举报

相关推荐

0 条评论