• python开发基础02-字符串操作方法练习题


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

       python解释器 py文件  #!/usr/bin/env python

      进入python解释器,便捷命令并执行

      pycharm或其他pythonIDE

      shebang编写正确,py文件添加可执行权限,linux下执行./文件名.py
    2、简述位、字节的关系

         1字节=8位
    3、简述 ascii、unicode、utf-­8、gbk 的关系

      ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符

      Unicode是为了统一世界各国语言的不用,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间。

    Unicode可以用在内存处理中,兼容了utf-8,gbk,ASCII,
    utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的
    gbk  是汉字内码扩展规范,用2个字节代表一个字符

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

      utf-8 6字节,48位

      gbk 4字节,32位
    5、Pyhton 单行注释和多行注释分别用什么?

      #

      ''' 或"""

      注释内容  

      ''' 或"""

      pycharm注释快捷键:crtl+/

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

      (1.) 变量名只能是 字母、数字或下划线的任意组合

      (2.)变量名的第一个字符不能是数字
      (3.)以下关键字不能声明为变量名
      ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']


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

      print(int(n1).bit_length()); #3个

      101
    8、布尔值分别有什么?

      真:True   1 假:False  0
    9、阅读代码,请写出执行结果
        
        a  =  "alex"
        b  =  a.capitalize()
        print(a)
        print(b)
        请写出输出结果:

      alex

      Alex
    10、写代码,有如下变量,请按照要求实现每个功能
        
        name  =  "  aleX"
        a.  移除 name 变量对应的值两边的空格,并输入移除后的内容

        b.  判断 name 变量对应的值是否以  "al"  开头,并输出结果

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

        d.  将 name 变量对应的值中的  “l”  替换为  “p” ,并输出结果
        e.  将 name 变量对应的值根据  “l”  分割,并输出结果。      
        f.  请问,上一题  e  分割之后得到值是什么类型(可选)?
        g.  将 name 变量对应的值变大写,并输出结果
        h.  将 name 变量对应的值变小写,并输出结果
        i.  请输出 name 变量对应的值的第 2 个字符?
        j.  请输出 name 变量对应的值的前 3 个字符?
        k.  请输出 name 变量对应的值的后 2 个字符?
        l.  请输出 name 变量对应的值中  “e”  所在索引位置?
        m.  获取子序列,仅不包含最后一个字符。如:  oldboy  则获取  oldbo;  root  则获取  roo

    name  =  "  aleX"
    print(name.strip())
    print(name.startswith("al"))
    print(name.endswith("X"))
    print(name.replace("l","p"))
    print(name.split("l"))
    print(type(name.split("l")))
    print(name.upper())
    print(name.lower())
    print(name[1])
    print(name[:3])
    print(name[-2:])
    print(name.index("e"))
    print(name[:-1])
    View Code

    21、字符串是否可迭代对象?如可以请使用 for 循环每一个元素? 

      

    text = "diedaishuchu"
    for t in text:
        print(t)
    View Code

    22、请用代码实现:
        a.  利用下划线将列表的每一个元素拼接成字符串,li  =  "alexericrain"
        b.  利用下划线将列表的每一个元素拼接成字符串,li  =  ['alex',  'eric',  'rain']    (可选)

     

    li  =  "alexericrain"
    li2  =  ['alex',  'eric',  'rain']
    print("_".join(li))
    print("_".join(li2))
    View Code


    23、Python2 中的 range 和 Python3 中的 range 的区别?

      python2预先将range所有内容写入内存,内存使用多

      python3不会将所有内容全部写入内存,动态回收内存
    24、实现一个整数加法计算器:
        如:
            content  =  input('请输入内容:')    #  如:  5+9  或  5+  9  或  5  +  9  

       

    content  =  input('请输入内容:')
    li=content.split("+")
    num = 0
    sum_num = 0
    for i in range(len(li)):
        num = int(li[i].strip())
        sum_num += num
    print(sum_num)
    View Code


    25、计算用户输入的内容中有几个十进制小数?几个字母?
        如:
            content  =  input('请输入内容:')    #  如:asduiaf878123jkjsfd-­‐213928  

    content = input("请输入内容:")
    int_num = 0
    str_num = 0
    for n in content:
        if n in "0123456789":
            int_num += 1
        if n in "abcdefghijklmnopqrstuvwsyz":
            str_num += 1
    print("数字个数为:",int_num,"字母个数为:",str_num)
    View Code


    26、简述  int  和  9  等数字   以及   str  和  "xxoo"  等字符串的关系?

    int整数型可做运算
    str为字符串不能运算
    整数转换成字符串
    num = 9

    str = str(num)

    str="9"

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

    name = input("姓名:")
    place = input("地点:")
    like = input("爱好:")
    print("敬爱可亲的"+name+",最喜欢在"+place+""+like)
    print('敬爱可亲的%s,最喜欢在%s做%s'%(name,place,like))
    View Code


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

     

    def check_code():
        import random
        checkcode = ''
        for i in range(4):
            current = random.randrange(0,4)
            if current != i:
                temp = chr(random.randint(65,90))
            else:
                temp = random.randint(0,9)
            checkcode += str(temp)
        return checkcode
    
    while True:
        code = check_code()
        user_code = input("请输入验证码%s:"%(code))
        if user_code.lower() == code.lower():
            print("输入正确!")
            break
        else:
            continue
    View Code

     或使用casefold()

    #     user_code = input("请输入验证码:").casefold()
    # code = code.casefold()

     

    29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
        如  "苍老师"  "东京热",则将内容替换为  ***

    text = input("请输入内容:")
    mingan = []
    mingan = ['苍老师','东京热']
    for i in mingan:
        # print(i)
        while text.find(i) != -1:
            #text = "***"
            #或替换对应内容
            text = text.replace(i,"***")
            break
        else:
            continue
    else:
        print(text)
    View Code

    30、制作表格  
        循环提示用户输入:用户名、密码、邮箱  (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
        如果用户输入  q 或 Q  表示不再继续输入,将用户输入的内容以表格形式打印

    v = []
    while True:
        username = input("请输入用户名:")
        password = input("请输入密码:")
        email= input("请输入邮箱:")
        user_name = username[:20]
        pass_word = password[:20]
        email20 = email[:20]
        n = {"name": user_name, "pwd": pass_word, "mail": email20}
        v.append(n)
        back = input("按q/Q退出打印,任意键继续输入")
        if back.lower() == "q":
            user_str = "用户名	密码	邮箱"
            print(user_str.expandtabs(20))
            for lines in v:
                user_str = "{0}	{1}	{2}".format(lines["name"], lines["pwd"], lines["mail"])
                print(user_str.expandtabs(20))
            break
    View Code
  • 相关阅读:
    linux基础学习2
    linux下部署项目问题
    ThinkPHP上传返回 “文件上传保存错误!”
    jQuery自定义插件
    对于nginx为什么能提高性能
    WebSocket 是什么原理?为什么可以实现持久连接?
    数据库的左右外连接
    漫画说算法--动态规划算法一(绝对通俗易懂,非常棒)
    Integer.MIN_VALUE
    反射
  • 原文地址:https://www.cnblogs.com/DaweiJ/p/8470508.html
Copyright © 2020-2023  润新知