python-字符串练习

Posted lijinping716

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-字符串练习相关的知识,希望对你有一定的参考价值。

1.执行Python脚本的两种方法
(1) 进入执行器中直接运行

          终端:python解析器 python文件

(2)liunx系统中,赋予执行权限,再通过shell命令执行:   ./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编码所占的位数?

 utf8:6

 gbk:4

 a=‘李洁‘

 len(a)   #python3  len(a)=2(字符)   ;  python2  len(a)=6(字节)

 

5.python单行注释和多行注释分别用什么?
单行注释用 #
多行注释用 ‘‘‘

 

6.声明变量注意事项有哪些?
由字母、数字、下划线组成
不能以数字开头
不能是关键字

 

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

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

输出结果为:3

 

8.布尔值分别有什么?

True和False

 

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

技术图片

 

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

name=‘alex‘
#a.移除name变量对应的值两边的空格,并输入移除后的内容
v=name.strip()
print(v)
#b.判断name变量对应的值是否以"al"开头,并输出结果
v=name.startswith(al)
print(v)
#c.判断name变量对应的值是否以"X"结尾,并输出结果
v=name.endswith(x)
print(v)
#d.将name变量对应的值中的“l”替换为“p”,并输出结果
v=name.replace(l,p)
print(v)
#e.将name变量对应的值根据“l”分割,并输出结果
v=name.split(l)
print(v)
v1=name.partition(l)
print(v1);

   输入结果分别为:

   [‘a‘, ‘ex‘]
   (‘a‘, ‘l‘, ‘ex‘)

#f.请问,上一题e分割之后得到值是什么类型(可选)?
根据split分割得到的是列表
根据partition分割得到的是元祖

#g.将name变量对应的值变大写,并输出结果
v=name.upper()
print(v)
#h.将name变量对应的值变小写,并输出结果
v=name.lower()
print(v)
#i.请输出name变量对应的值的第2个字符?
v=name[1]
print(v)
#j.请输出name变量对应的值的前3个字符?
v=name[0:3]
print(v)
#k.请输出name变量对应的值的后2个字符
v=len(name)
x=name[v-2:v]
print(x)
#l.请输出name变量对应的值中“e”所在索引位置?
v=name.find(e)
print(v)
#m.获取子序列,仅不包含后一个字符。如:oldboy则获取oldbo;root则获取roo
i=input(请输入字符串:)
l=len(i)
v=i[0:l-1]
print(v)

 

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

字符串为可迭代对象,可迭代对象=可以被for进行循环获取

test=1qazw2wsx
for v in test:
    print(v)

 

12.请用代码实现:

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

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

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

li=[alex,eric,rain]
l=len(li)
i=1
s=li[0]
while i<l:
    s=s+_+li[i]
    i+=1
print(s)
li=[alex,eric,rain]
v=_.join(li)
print(v)

 

13.Python2 中的range 和Python3 中的range 的区别?
python2.7中,运行range,内存立即创建
例如;
v=range(10)
print(v)

python3中,运行range,且使用for循环时,才会创建内存,这种方法更加省内存。
v=range(10)
for item in v:
print(item)

 

14.加法计算器

#加法计算器(整数相加)
content=input(请输入内容:)
add=content.split(+)
l=len(add)
i=0
s=‘‘
while i<l:
    s=s+add[i]
    i+=1 #将content内容去除+,再转换成字符串
k=s.isdigit()#判断输入内容是否只含数字
if k==True:
    j = 0
    sum = 0
    while j < l:
        sum = sum + int(add[j])
        j += 1
    print(sum)
else:
    print(输入内容格式错误)

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

content=input(请输入内容:)
l=len(content)
i=0
d=0
a=0
while i<l:
    co=content[i].isalnum()  #是否只包含数字和字母
    if co==True:
        di=content[i].isdigit() #是否为数字
        if di==True:
            d+=1
        else:
            a+=1
    else:
        pass
    i+=1
print(输入内容中数字有,d,)
print(输入内容中字母有,a,)

技术图片

 

16.制作趣味模板程序

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

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

name = input(please input username:)
addr = input(please input address:)
hob = input(please input hobby:)
temp = 敬爱可亲的0,最喜欢在1 地方干2
sen = temp.format(name, addr, hob)
print(sen)

 

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

co=input(请输入内容:)
ha=[苍老师,东京热]
lh=len(ha)
i=0
while i<lh:
    co=co.replace(ha[i],***)
    i+=1
print(co)

 

18.制作表格

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

table = ‘‘
while True:
    co1 = input(please input username:)
    if co1 == q or co1 == Q:
        break
    else:
        co1 = co1[0:20]  # 前20位有效
        co2 = input(please input password:)
        if co2 == q or co2 == Q:
            break
        else:
            co2 = co2[0:20]
            co3 = input(please input emile:)
            if co3 == q or co3 == Q:
                break
            else:
                co3 = co3[0:20]
    template = \\t\\t\\n
    co = template.format(co1, co2, co3)
    table = table + co
if co1 == q or co1 == Q:
    table = table
elif co2 == q or co2 == Q:
    template = \\t
    co = template.format(co1)
    table = table + co
elif co3 == q or co3 == Q:
    template = \\t\\t
    co = template.format(co1, co2)
    table = table + co
else:
    print(---end---)
print(table.expandtabs(25))

 

 19.制作随机验证码,不区分大小写。

流程:
-­‐用户执行程序
-­‐给用户显示需要输入的验证码
-­‐用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:

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 1==1:
    code = check_code()
    print(code)
    newcode=code.lower()
    print(newcode=,newcode)
    icode=input(请输入验证码:)
    i_code=str(icode)
    inputcode=i_code.lower()
    print(inputcode=,inputcode)
    if newcode==inputcode:
        print(验证码输入正确)
        break
    else:
        continue

 

20.简述int和9等数字,以及str和‘asdf’等字符串的关系?

int和str 称为:类

9、‘asdf’为类创建的对象

以上是关于python-字符串练习的主要内容,如果未能解决你的问题,请参考以下文章

python练习题字符串碎片

Python练习题

Python学习—字符串练习

Python练习题

1Python字符串练习

python练习:字符串中的数字排序