python-字符串练习,,1.执行Python
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-字符串练习
评论关闭