zoukankan      html  css  js  c++  java
  • Python——Day2(基础知识练习一)

    1.执行Python脚本的两种方式
    1)调用解释器 Python +绝对路径+文件名称
    2)调用解释器 Python +相对路径+文件名称

    2.简述位、字节的关系
    8位为1个字节

    3.简述ASCII、unicode、utf-8、gbk的关系
    ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符,
    Unicode是为了统一世界各国语言的不同,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,
    可以用在内存处理中,兼容了utf-8,gbk,ASCII,
    utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢,用在硬盘数据传输,网络数据传输,相比硬盘和网络速度,体现不出来的,
    gbk 是中文的字符编码,用2个字节代表一个字符,

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

    5.Pyhton单行注释和多行注释分别用什么表示?
    单行注释:#
    多行注释:"""

    6.声明变量注意事项有哪些?
    Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明。变量通过首次赋值产生,当超出作用范围时自动消亡。
    Python 不允许引用一个未被赋值的变量,否则会引发一个异常。

    7.如有以下变量n1=5,请使用int的提供方法,得到该变量最少可以用多少个二进制位表示?
    5位 输出为0b101
    v2 = bin(int(5))
    print(v2)

    8.布尔值分别有什么?
    True False

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

    10.写代码,有如下变量,请按照要求实现每个功能
    # a ="alex"
    # b=a.capitalize()
    # print(a)
    # print(b)
    name = " aleX"
    # a.移除name变量对应的值两边的空格,并输入移除后的内容
    n1=name.strip()
    print(n1)
    #b.判断name变量对应的值是否以"al"开头,并输出结果
    n2=name.startswith("al")
    print(n2)
    #c.判断name变量对应是否以"X"结尾,并输出结果
    n3=name.endswith("X")
    print(n3)
    #d.将name变量对应的“l”替换为“p”,并输出结果
    n4=name.replace("l","p")
    print(n4)
    #e.将name变量对应的值根据“l”分割,并输出结果
    n5=name.split("l")
    print(n5)
    #f.请问,上一题e分割之后得到值是什么类型
    #列表
    #g.将name变量对应的值变大写,并输出结果
    n6=name.upper()
    print(n6)
    #h.将name变量对应的值变小写,并输出结果
    n7=name.lower()
    print(n7)
    #i.请输出name变量对应的值的第2个字符
    n8=name[2]
    print(n8)
    #请输出name变量对应的值得前3个字符
    n9=name[0:3]
    print(n9)
    #请输出name变量对应的值得后2个字符
    n10=name[-1:-2]
    print(n10)
    #请输出name变量对应的值中"e"所在的索引位置
    n11=name.find("e")
    print(n11)
    #获取子序列,仅不包含最后一个字符,如 oldboy则获取oldbo;root则获取roo
    n12=input(">>>")
    l=len(n12)
    n13=n12[0:l-1]
    print(n13)

    21.字符串是否可迭代对象?如可以请使用for循环每一个元素?
    字符串可以迭代
    #将文件按照索引打印出来
    test = input(">>>>")
    for item in test:
    print(item)

    22.请用代码实现
    # a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
    li=['a','l','e','x','e','r','i','c','r','a','i','n']
    li1='-'.join(li)
    print(li1)
    ############################################################################
    # b.利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']
    li2 = ['alex', 'eric', 'rain']
    li3=''.join(li2)
    print(li3)
    ############################################################################

    23.Python2中的range和Python3中的range区别
    Python2中的range会直接在内存中生成序列
    Python3中会生成一个范围,实际上节省了内存空间

    24.如何实现一个整数加法计算器,如 5+9或5 +9或5 + 9
    content = input('请输入内容:')
    print(content.replace(' ',''))

    25.计算用户输入内容有几个十进制小数?几个字母?
    content = input('请输入内容:')
    import re
    #字母
    y = len(re.findall(r'[a-z]',content))
    print('出现的字母个数为:',y)
    #数字
    z = len(re.findall(r'[0-9]',content))
    print('出现的数字个数为:',z)

    26.简述int和9等数字以及str和"xxoo"等字符串的关系
    类和对象的关系

    27.制作趣味模板
    需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现
    test = "敬爱可亲的{0},最喜欢在{1},地方{2}"
    name= {input("输入名称")}
    place= {input("地点")}
    doing={input("事件")}
    print(test.format(name,place,doing))

    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()
    # print(code)
    # app = input("请输入验证码:")
    # if code.upper() == app.upper():
    # print("输入正确")
    # break
    # else:
    # print("输入错误")
    # s = input("是否重新输入?")
    # if s == "no":
    # break
    # else:
    # continue
    ############################摘抄至网络#############################################

    29.开发敏感词语过滤程序,提示用户输入内容,如果用户输入内容中包含特殊的字符:“苍老师”、“东京热”,则将内容替换为***
    v=input(">>>")
    v1=v.replace("苍老师","***")
    v2=v1.replace("东京热","***")
    print(v2)

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

    s=""
    while True:
    name= input("请输入用户名:")
    if name =="q"or name=="Q":
    break
    if len(name)>=20:
    name = name[0:20]
    pwd = input("请输入密码:")
    if len(pwd)>=20:
    name = pwd[0:20]
    email=input("请输入邮箱:")
    if len(email)>=20:
    name = email[0:20]
    template = "{0} {1} {2} "
    v=template.format(name,pwd,email)
    s +=v
    print(s.expandtabs(20))

    Win a contest, win a challenge
  • 相关阅读:
    springboot之热部署
    在动态sql的使用where时,if标签判断中,如果实体类中的某一个属性是String类型,那么就可以这样来判断连接语句:
    对集合进行判空的操作
    配置logback日志管理的时候
    SpringBoot序列化时间类型的问题
    Cannot determine embedded database driver class for database type NONE
    idea的基础设置
    使用navicat创建数据库
    LESS
    数据库链接池--简单的理解
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/8443606.html
Copyright © 2011-2022 走看看