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"
dswith('X'))
d.将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
name = "aleX"
place('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 = place("苍⽼师","***").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
pandtabs(20))
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论