zoukankan      html  css  js  c++  java
  • day 11 Python课上练习解释与基础知识练习题试题一

    1,将文件对应的索引打印出来

    方法1
    test
    = input(">>>>") print(test) l = len(test) print(l) t = range(l) for item in t: print(item,test[item])

    # 方法精简2 test = input(">>>>") for item in range(0,len(test)): print(item,test[item])

    2,练习题

     1、执行python脚本(script)的两种方式

    (1)在Python解释器下,直接输入.py文件的路径(前提是环境变量已设置Python)  

    (2)进入Python 进入解释器,实时输入并获取执行结果。

    2、简述位、字节的关系

      一字节(Byte)=8 bit(二进制位)

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

    最开始是acill,unicode,最后又出现了utf8(unicode的压缩版)

    ascii    用8位二进制谁表示一字节

    unicode 至少16位

    utf-8     能少用则少用,不浪费内存,一个汉字用3个字节表示

    gbk     中国使用,一个汉字用2个字节表示 

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

    utf-8   一个汉字用3个字节表示   2个则6个字节 ,需48位     

    gbk    1个汉字需2个字节,2个需4个字节,需32位

    v='李杰'

    在Python2  len(v)   结果为6  显示utf-8的字节           

    在Python3中         显示为字符串的长度  即为 2 

    在py3中       len(a)     2

     在py2中       len(a)     6

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

      单行  #       多行 '' '' ''

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

    只能用字母,数字,下划线组成,数字不能开头,Python中的关键字不能声明为变量名,不要和Python内置的东西重复

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

    n1=5
    v=n1.bit_length()   # 当前数字的二进制,至少用多少位表示
    print(v)

    结果:3

    8、布尔值分别有什么

    True  False

         ""  假         0  假

         “ ”  真         其他  真

    9、阅读代码,请写出执行结果  

    a='alex',
    
    b=a.capitalize()
    
    print('a','b')
    
    结果为:alex    Alex

    10、写代码,有如下变量,请按照要求实现每个功能

      name='  aleX'

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

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

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

     d、将name变量对应的值中的‘l’替换为‘p’,并输出结果

     e、将name变量对应的值根据‘l’分割,并输出结果

     f、请问上一题e分割后得到的值是什么类型(可选)  str

     g、将name变量对应的值变大写,并输出结果

     h、将name变量对应的值变小写,并输出结果

     i、请输出 name变量对应的值的第2个字符

     j、请输出 name变量对应的值的第3个字符

    name=' aleX'
    v1=name.strip()
    v2=name.startswith('al')
    v3=name.endswith('X')
    v4=name.replace('l','p')
    v5=name.split('l')
    v7=name.upper()
    v8=name.lower()
    v9=name[2]
    v10=name[3]
    print(v1,v2,v3,v4,v5,v7,v8,v9,v10)

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

      暂且认为:一个值若可以被for循环,则认为其为可迭代对象

    test='goulonghui'

    for item in test:

      print(item)

    12、请利用代码实现:

          a.利用下划线将列表的每一个元素拼接成字符串,li='alexericrain'

           b.利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']

    li = "alexrucrain"
    t = "_".join(li)
    print(t)
    li
    = ["alex","eric","rain"] c = "_".join(li) print(c)

    结果:

    a_l_e_x_r_u_c_r_a_i_n
    alex_eric_rain

    13、Python2中的range和Python3中的range的区别

    rang的用法(用于创建连续数字,也可设置步长)

    这边python2 和python3的区别还不一样

    python2 会立即创建

    python3 在会调用的时候才创建

    这是对python2的一次优化

    py2的xrang 同py3中的rang

    14、实现一个整数加法计算器:  

      如:

        content=input('请输入内容:')          #:5+9  或 3+5或 5+12

    cotent = input('>>>')
    v1, v2 = cotent.split('+')      # 把用户输入的字符串分割开来 分别赋值给v1,v2
    a = int(v1)                      #  把v1,v2转换为整形
    b = int(v2)
    s = a + b
    print(s)

    15、简述int 和 9 等数字 以及 str和“xxoo”等字符串的关系

           int   指代整形           str   指代字符类型     

          创建的字符型是根据str类型创建的一个个对象

           int,str类,12,3,abc对象

    17、制作趣味模板程序:

        需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现

          如:敬爱可爱的 xxx ,最喜欢在xxx地方干xxx

    user_name=input('>>>')
    user_loc=input('>>>')
    user_like=input('>>>')
    v = '敬爱可爱的{name} ,最喜欢在{where}地方干{do}'
    v = v.format(name = user_name,where = user_loc,do = user_like)
    print(v)

    18、制作随机验证码,不区分大小写

       流程:

      -用户执行程序

      -给用户显示需要输入的验证码

      -用户输入的值

        用户输入的值和显示的值相同时实现正确信息;否则继续生成随机验证码继续等待用户输入。

    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()
        print(code)
        v = input('>>>')
        code = code.upper()         # 全部转换为大写 再进行比较
        v = v.upper()
        if v == code :
            print('验证成功')       # 如果二者相同,则打印验证成功,且退出循环
            break
        else:
            pass                    # 如果二者不同,则继续循环

    19、开发敏感词汇过滤程序,请使用户输入内容,如果用户输入的内容中包含特殊的字符:

        如:‘苍老师’、‘东京热’,则将内容替换为***

    v = input('>>>')
    v = v.replace('苍老师','***')
    v = v.replace('东京热','***')          # 分2次替换v 即可实现
    print(v)

    20、制作表格

      循环提示用户输入:用户名,密码,邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)

      如果用户输入q或Q表示不在继续输入,将用户输入的内容以表格形式打印出来。

    s=''                                # 定义一个空字符
    while True:
        v1 = input('用户名:')
        if v1 == 'q'or v1 == 'Q':               # 输入q 或者 Q时 不在输入
            break
        else:
            pass
        v2 = input('密码:')
        v3 = input('邮箱:')
        if len(v1) > 20 or len(v2) > 20 or len(v3) > 20:             #  输入的字符串如果是大于20个 则取前20 
            v1 = v1[0:20]
            v2 = v2[0:20]
            v3 = v3[0:20]
        else:
            pass
        template = '{0}	{1}	{2}
    '    # template 为定义的普通变量名  定义一个format格式
        v = template.format(v1,v2,v3)
        s = s + v                           # 在空字符串的基础上 叠加
    print(s.expandtabs(20))

  • 相关阅读:
    让Flask-admin支持markdown编辑器
    单例模式
    【Python】关于如何判断一个list是否为空的思考
    【Python】抽象工厂模式
    【Python篇】工厂模式
    【Python】直接赋值,深拷贝和浅拷贝
    【Python】可变对象和不可变对象
    【Python】__name__ 是什么?
    【Python】any() 或者 or
    [Python] list vs tupple
  • 原文地址:https://www.cnblogs.com/xiaomai-rhce/p/10085511.html
Copyright © 2011-2022 走看看