python-字符串练习,,1.执行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=5v=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=1s=li[0]while i<l:    s=s+‘_‘+li[i]    i+=1print(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=0s=‘‘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=0d=0a=0while i<l:    co=content[i].isalnum()  #是否只包含数字和字母    if co==True:        di=content[i].isdigit() #是否为数字        if di==True:            d+=1        else:            a+=1    else:        pass    i+=1print(‘输入内容中数字有‘,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=0while i<lh:    co=co.replace(ha[i],‘***‘)    i+=1print(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 + coif co1 == ‘q‘ or co1 == ‘Q‘:    table = tableelif co2 == ‘q‘ or co2 == ‘Q‘:    template = ‘{}\t‘    co = template.format(co1)    table = table + coelif co3 == ‘q‘ or co3 == ‘Q‘:    template = ‘{}\t{}\t‘    co = template.format(co1, co2)    table = table + coelse:    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 checkcodewhile 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-字符串练习

评论关闭