python3练习题--字符串

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

交互式和脚本式,交互式就是在控制台输入python后,进入到解释器当中,然后进行简单代码的交互。脚本式即为文件后缀为.py结尾的文件。在python解释器中可以运行;在python中主要使用文件执行。

2.简述位、字节的关系

一个字节:占8位;即:1(byte)=8(bit)

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

ASCII 是最早定义的字符编码,是美国定的字符编码标准ASIIC编码中一个字符的大小就是1个字节Unicode:将各国文字统一的编码;utf-8:是unicode的升级版本,为了节省存储空间。UTF-8根据实际使用情况调节存储编码的位数,一个中文3个字节;

GBK:GBK也是基于Unicode编码的进一步优化,GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示。

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

UTF-8 :“李杰”=6个字节  GBK:”李杰”=4个字节

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

 单行注释用 井号(#) ;多行注释用:”””      “””开始和解释分别用三个双引号。

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

     (1)不能使用数字开头 (2)不能使用python关键字

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

n1 = 5
v = n1.bit_length()
print(v) 

结果:3个二进制位表示

8.布尔值分别有什么?

True False

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

a = "alex"
b = a.capitalize()
print(a)
print(b)

alex    Alex

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

name = " aleX"

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

Print(name.strip())

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

name = "aleX"
print(name.startswith('al'))

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

name = "aleX"
print(name.endswith('X'))

d. name 变量对应的值中的 “l” 替换为 “p”,并输出结果

name = "aleX"
print(name.replace('aleX','apeX'))

e. name 变量对应的值根据 “l” 分割,并输出结果。

name = 'aleX'
print(name.split('l'))

f.请问,上一题 e  分割之后得到值是什么类型(可选)?

字符串类型

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

name = 'aleX'
print(name.upper())#全部变为大写
print(name.lower())#全部变为小写

h.请输出 name 变量对应的值的第 2 个字符?

name = 'aleX'
print(name[1:2])#切片

 i.请输出 name 变量对应的值中 “e” 所在索引位置

name = 'aleX'
for item in range(2,3,len(name)):
    print(item)
j.获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
name = "aleX"
print(name[0:3])
print(name[0:-1])

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

是可迭代的对象

name = "aleX"
for item in name:
    print(item)

12.

请用代码实现:a利用下划线将列表的每一个元素拼接成字符串,li  "alexericrain" 

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

li = "alexericrain"
v ="_".join(li)
print(v)

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

 13.Python2 中的 range Python3 中的 range 的区别?

python2中的range返回的是一个列表

python3中的range返回的是一个迭代值

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

如:

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

content = input("请输入内容:").replace(" ","") # 去掉输入内容中空格
lst = content.split("+")#使用+对字符串进行切割 得到的只有两个元素的列表
a = lst[0]#获取第一个元素
b = lst[1]#获取第二个元素
print(int(a) + int(b)) #计算两个数相加的和

15.计算用户输入的内容中有几个十进制小数?几个字母? 如:

content = input('请输入内容:') #  如:asduiaf878123jkjsfd-­‐213928 

思路:定义2个基数都是0,一个是字母的一个是数字的
把字符串挨个打印出来,打印出来一个,判断一个,如果是数字,就把数字的基数加一,
如果是字母就把字母的基数加一,就不是数字也不是字母,就pass,最后打印出num  num1

content = input("请输入内容:").replace(" ","")
num = 0
num1 = 0
for n in content:
    if n.isdigit() == True: #判断是是否是数字 也可以使用isdecimal()方法
        num+=1
    elif n.isalpha() == True: #判断是否是字母
        num1+=1
    else:
        pass
print("数字个数:",(num), "字母个数:",(num1))

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

int,str,bool相当于类,而冒号后面的就相当于对象,实属类和对象的关系;

17.制作趣味模板程序

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx

test = "猥琐的{0},最喜欢在{1}地方{2}"
name = input("请输入你的名字: ")
place = input("请输入你经常去的地方: ")
like = input("请输入你平时的爱好: ")
v = test.format(name, place, 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(">>>")
    v1 = code.upper()
    v2 = v.upper()
    if v1 == v2:
        print('验证码输入成功')
        break
    else:
        print('验证码输入错误')

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

search = input("请输入内容>>>")
v = search.replace("苍老师","***").replace("苍井空","***").replace("东京热","***")
print(v)

20.循环提示用户输入:用户名、密码、邮箱 

(要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效) 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐
s = ""
while True:
    name = input("请输入用户名:")
    pwd = input("请输入用户密码:")
    email = input("请输入邮箱:")
    s1 = name.lower()
    s2 = pwd.lower()
    s3 = email.lower()
    if s1 != 'q' and s2 != 'q' and s3 != 'q':
        template = '{0}\t{1}\t{2}\n'
        v = template.format(s1, s2, s3)
        s += v
    else:
        break
print(s.expandtabs(20))

 

猜你喜欢

转载自www.cnblogs.com/renzhiqiang/p/10601702.html