python字符串试题

Posted raitorei

tags:

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

1、执行 Python 脚本的两种方式

1.python       进入解释器

2.python 1.py  执行文件

limux里 ./1.py

2、简述位、字节的关系

8位1个字节。计算机处理以字节为单位,存储以位为单位。

3、简述 ascii、unicode、utf-­‐8、gbk 的关系

Ascii   最开始

Unicode  接着出现

utf-­‐8   unicode压缩版

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 编码所占的位数

utf-­‐8:6

gbk  :4

5、Pyhton 单行注释和多行注释分别用什么?

单行注释:#

多行注释:"""   """

6、声明变量注意事项有那些?

变量定义的规则:
    1.变量名只能是 字母、数字或下划线的任意组合
    2.变量名的第一个字符不能是数字
    3.以下关键字不能声明为变量名:
    [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘,     ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

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

bt_length

8、布尔值分别有什么?

 

True , False

字符串

""    ==>" "    ==>真

数字:

0    ==>假

其他    ==>真

 

a = "123"

a = int(a)


a = 123
b = str(a)


a = 123
p1 = bool(a)

b="i"
b2 = bool(b)

9、阅读代码,请写出执行结果a = "alex"

  b=a.capitaliz()

  print(a)

  print(b)

请写出输出结果:

alex

Alex

10、写代码,有如下变量,请按照要求实现每个功能name = " aleX"

name = " aleX"
a.移除 name 变量对应的值两边的空格,并输入移除后的内容
  print(name.strip())
b.判断 name 变量对应的值是否以 "al" 开头,并输出结果
  print(name.startswith("al"))
c.判断 name 变量对应的值是否以 "X" 结尾,并输出结果
  print(name.endswith("X"))
d.将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
  print(name.replace("l","p"))
e.将 name 变量对应的值根据 “l” 分割,并输出结果。
  print(name.split("l"))
  print(name.partition("l"))
f.请问,上一题 e 分割之后得到值是什么类型(可选)?
  字典
g.将 name 变量对应的值变大写,并输出结果
  print(name.upper())
h.将 name 变量对应的值变小写,并输出结果
  print(name.lower())
i.请输出 name 变量对应的值的第 2 个字符?

l = len(name)
r = range(0,l)
for nn in r:
if nn == 1:
print(name[nn])

j.请输出 name 变量对应的值的前 3 个字符?

  print(name[0:3])
k.请输出 name 变量对应的值的后 2 个字符?
  print(name[3:5])
l.请输出 name 变量对应的值中 “e” 所在索引位置?

l = len(name)
r = range(0,l)
for nn in r:
if name[nn] == "e":
print("e的索引位置为:" + str(nn))
m.获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获roo
print(name[0:4])

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

for i in 值:
print(i)
 可迭代对象 == 可以被for循环获取
类,类型
str
              各种方法
             ...
对象,根据str类型创建一个对象。s1
int
            ...
a = 123

22、请用代码实现:

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

23、Python2 中的 range 和 Python3 中的 range 的区别?

Python2:range   立即创建
xrange  for循环时一个一个创建
Python3:range   for循环时一个一个创建
for i in range (0,100,1) :
    print (i)
for i in range (100,0,-1) :
    print (i)

24、实现一个整数加法计算器:
如:
content = input(‘请输入内容:‘) # 如 : 5+9 或 5+ 9 或 5 + 9
v = input(">>>")
v1,v2 = v.split("+")
v1 = int(v1)
v2 = int(v2)
print(v1 + v2)
24、计算用户输入的内容中有几个十进制小数?几个字
如:
content = input(‘请输入内容:‘) # 如:asduiaf878123jkjsfd-­‐213928

content = input(请输入内容:)
c1 = 0
c2 = 0
for item in content:
if item.isdecimal():
c1 += 1
elif item.isalpha():
c2 += 1
print("字母数量:" + str(c2) + "\\n数字数量:" + str(c1))

26、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系?

int = 9
str = "xxoo"
类和对象的关系

27、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx

v = input("请输入输入名字、地点、爱好并用“+”隔开:")
v1,v2,v3 = v.split("+")
content = "敬爱可亲的name,最喜欢在place 地方干like"
c = content.format(name = v1,place = v2,like = v3)
print(c)

28、制作随机验证码,不区分大小写。流程:
-­‐ 用户执行程序
-­‐ 给用户显示需要输入的验证码
-­‐ 用户输入的值
用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入生成随机验证码代码示例:

技术图片

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
code = check_code()
while True:
    code = check_code()
    print(code)
    v = input("请输入验证码:")
    if v == code:
        print("输入正确!!!")
        break
    else:
        print("请重新输入:")

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

c = input(">>>")
c = c.replace("苍老师","***")
c = c.replace("东京热","***")
print(c)

30、制作表格

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

s = ""
while True:
    name = input("用户名:")
    if len(name) > 20:
        print("用户名长度不超过20字符,如果超过则只有前20个字符有效")
    if name == "q" or name == "Q":
        break
    pwd = input("密码:")
    if pwd == "q" or pwd == "Q":
        break
    mail = input("邮箱:")
    if mail == "q" or mail == "Q":
        break
    temp = "用户名\\t密码\\t邮箱\\n0\\t1\\t2\\n"
    t = temp.format(name,pwd,mail)
    s = s + t
    print(s.expandtabs(20))

 

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

python常见面试题讲解字符串最后一个单词的长度

python试题

python常见面试题讲解数字颠倒

python常见面试题讲解数字颠倒

2018春招-今日头条笔试题-第三题(python)

python简单试题4