zoukankan      html  css  js  c++  java
  • 练习题

    #!/user/bin/env python
    # -*- coding:utf-8 -*-
    '''1、执行 Python 脚本的两种方式
    一种是控制台方式执行
    一种是在DOS命令窗口执行指定脚本
    2.简述位、字节的关系
    位是bit数据的最小单位,也叫做比特位就是0和1
    1个字节是8个bit位 1byte=8bit
    3、简述 ascii、unicode、utf-8、gbk 的关系
    计算机起始英文编码由ascii一个字节组成由八个二进制位总共不超过256个
    unicode 是全世界通用的一种编码方式,速度快,占空间大。2的16次方个65566,囊括了世界的所有语言。但最常用的是用两个字节表示一个字符
    (如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。ASCII编码和Unicode编码的区别:ASCII
    英文字母编码是1个字节,而Unicode编码通常是2个字节。在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转
    换为UTF-8编码。
    utf-8根据是中文字符还是英文字符长短来决定字节长短,1个英文就是1个字节,是中文的话占3个字节,utf-8也被称为“可变长编码”。
    GBK是针对汉字的编码系统由2个字节码组成
    4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数
    李杰 用utf-8 占6个字节
    李杰 用gbk 占4个字节
    5、Pyhton 单行注释和多行注释分别用什么?
    python单行注释为#
    python多行注释'三个单引号引起来的
    6.声明变量注意事项有那些?
    1.不能以数字开头
    2.不能和python关键字重名
    3.只能以数字字母和_来命名
    4.不能和内部函数重名
    5.变量命名最好是有意义。
    7、如有一下变量 n1=5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?'''
    # n1 = 5
    # v1=n1.bit_length()
    # print(v1)
    # 8、布尔值分别有什么?
    # 布尔值有两个值分别为真 True 和 假 False
    # 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"
    # va=name.strip()
    # print(va)
    # vb=name.startswith("al")
    # print(vb)
    # vc=name.endswith("X")
    # print(vc)
    # vt=str.maketrans("l","p")
    # vd=name.translate(vt)
    # print(vd)
    # ve=name.split("l")
    # ve2=name.partition("l")
    # print(ve)
    # print(ve2)
    # vf=name.split("e ")
    # print(vf)
    # vg=name.upper()
    # print(vg)
    # vh=name.lower()
    # print(vh)
    # name1="alexcvfs"
    # print(name1[1])
    # print(name1[0:3])
    # vz=len(name1)
    # print(name1[(vz-3):vz])
    # vl=name1.find("e")
    # print(vl)
    # # print(name1[0:-1])
    # 11、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
    # 字符串可以迭代。
    # 例:
    # name="zhansanlisi"
    # for v in name:
    # print(v)
    # 12、请用代码实现:
    # a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
    # b.利用下划线将列表的每一个元素拼接成字符串,li ['alex', 'eric', 'rain'] (可选)
    # li="alexxericrain"
    # fg="_"
    # v1=fg.join(li)
    # print(v1)
    # li=['alex', 'eric', 'rain']
    # f="_"
    # v2=f.join(li)
    # print(v2)
    # 13、Python2 中的 range 和 Python3 中的 range 的区别?
    # range在python2中直接生成了数据序列,这样会占用很大的内存。特别是数据序列比较大的时候,
    # range在python3中虽然也生出数列,但只有在取出某个数的时候才会生出,占用的内存比较小。
    #14、实现一个整数加法计算器:
    # 如:content=input('请输入内容:') # 如:5+9 或 5+ 9 或 5 + 9
    # n1=input("请输入加法例如1+2,回车:")
    # v=n1.split("+")
    # n1=int(v[0])
    # n2=int(v[1])
    # n3=n1+n2
    # print(n3)
    # 15、计算用户输入的内容中有几个十进制小数?几个字母?
    # 如:
    # input('请输入内容:')#如duiaf878123jkjsfd-213928c
    # ch1=input('请输入内容:')
    # int1=0
    # zm=0
    # sz=0
    # while int1<len(ch1):
    # if ch1[int1].isalpha():
    # zm += 1
    # elif ch1[int1].isdecimal():
    # sz += 1
    # int1 +=1
    # print("总共有字母:",zm,"个")
    # print("数字:",sz,"个")
    # 16、简述int和9等数字以及str和 "xxoo"等字符串的关系。
    # int为数值型数据类型,3.0后的数据可以是无限大。
    # str是字符串数据类型,每次给str赋予数据后,会在内存例划出一块空间给该数据,如果修改或者重新赋值时,会重新在划出一块空间给新数据,而不
    # 会改变原来的数据。
    # 17制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
    # inp1=input("请输入您的姓名:")
    # inp2=input("请输入你想要的地点:")
    # inp3=input("输入你的爱好")
    # print("敬爱可亲的",inp1,"最喜欢在",inp2,"地方干",inp3)
    # 或
    # inp1=input("请输入您的姓名:")
    # inp2=input("请输入你想要的地点:")
    # inp3=input("输入你的爱好")
    # str1="敬爱可亲的{name},最喜欢在{add}地方做{doing}"
    # str2=str1.format(name=inp1,add=inp2,doing=inp3)
    # print(str2)
    # 18、制作随机验证码,不区分大小写。 流程:
    # - 用户执行程序
    # - 给用户显示需要输入的验证码
    # - 用户输入的值
    # -用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
    # -生成随机验证码代码示例
    # pd=True
    # while pd :
    # 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`
    # code = check_code()
    # print(code)
    # sr=input("请输入验证码:")
    # if sr == code:
    # print("输入正确,谢谢")
    # pd=False
    # else:
    # print("输入错误请重新输入:")

    #19、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:如 "苍老师""东京热",则将内容替换为 ***
    # pd=True
    # while pd:
    # inp1=input("请输入信息,如果想结束程序请输入q或者Q回车即可:")
    # if inp1=="q" or inp1 =="Q":
    # pd=False
    # else:
    # v3=inp1.replace("东京热","***")
    #      v3=v3.replace("苍老师",“***”)

    # print(v3)

    # 20、制作表格
    # 循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
    # 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格打印出来
    # pd=True
    # while pd:
    # inp1=input("请输入用户名:")
    # inp2=input("请输入密码")
    # inp3=input("请输入mail:")
    # if inp1=="q" or inp1=="Q":
    # break
    # else:
    # b1="用户名 密码 邮箱 {name} {passwd} {emal}"
    # if len(inp1)>20 or len(inp2)>20 or len(inp3)>20:
    # b2=b1.format(name=inp1[0:20],passwd=inp2[0:20],emal=inp3[0:20])
    # b3=b2.expandtabs(30)
    # print(b3)
    # else:
    # b2 = b1.format(name=inp1, passwd=inp2, emal=inp3)
    # b3 = b2.expandtabs(20)
    # print(b3)
    最后一题的修改:
    pd = True
    sc="用户名 密码 邮箱 "
    while pd:
    name = input("请输入用户名:")
    passwd = input("请输入密码")
    email = input("请输入mail:")
    if name == "q" or name == "Q":
    break
    else:
    b1 = "{0} {1} {2} "
    if len(name) > 20:
    b2 = b1.format(name[0:20], passwd, email)
    elif len(passwd)>20 :
    b2 = b1.format(name, passwd[0:20], email)
    elif len(email)>20 :
    b2 = b1.format(name, passwd, email[0:20])
    else:
    b2 = b1.format(name, passwd, email)
    sc=sc+b2
    sc = sc.expandtabs(20)
    print(sc)
    
    
  • 相关阅读:
    【PAT甲级】1043 Is It a Binary Search Tree (25 分)(判断是否为BST的先序遍历并输出后序遍历)
    Educational Codeforces Round 73 (Rated for Div. 2)F(线段树,扫描线)
    【PAT甲级】1042 Shuffling Machine (20 分)
    【PAT甲级】1041 Be Unique (20 分)(多重集)
    【PAT甲级】1040 Longest Symmetric String (25 分)(cin.getline(s,1007))
    【PAT甲级】1039 Course List for Student (25 分)(vector嵌套于map,段错误原因未知)
    Codeforces Round #588 (Div. 2)E(DFS,思维,__gcd,树)
    2017-3-9 SQL server 数据库
    2017-3-8 学生信息展示习题
    2017-3-5 C#基础 函数--递归
  • 原文地址:https://www.cnblogs.com/Centwei/p/9458879.html
Copyright © 2011-2022 走看看