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-字符串练习的主要内容,如果未能解决你的问题,请参考以下文章