基础测试题(python概念、字符串)

1.执行python脚本的两种方式

第一种:通过在cmd中输入python进入解释器;
第二种:python 文件路径
在linux下:给文件赋予可执行权限 ./1.py 执行它

2.简述位、字节的关系

8位等于一个字节
存储的时候以位为单位,计算机处理时以自己为单位

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

最开始是ascii码,然后出现unicode,然后每个国家有自己的编码,utf-8作为unicode的压缩版

4、请写出  “李杰”  分别用 utf-8 和 gbk 编码所占的位数 

utf-8:6
gbk:4
a="李杰"
len(a) #2,在python3中,计算字符
len(a) #6,在python2.7中,计算字节

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

单行注释 #
多行注释(块注释)
"""
注释的内容
"""

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

数字字母下划线,一定不能与关键字重复,推荐不能用python内置的东西,这样会把原来的功能覆盖掉。

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

利用魔法bit_length
代码如下:
n1 = 5
print(n1.bit_length())

8.布尔值分别有什么?

True False
#空字符串 "" => 假
#非空字符串 " " =>真
#数字0 假
#其他 真

 

  • 字符串转换为数字

a = "123"
b = int(a)

  • 数字转换为字符串

a = 123
b = str(a)

  • 把一个数字转换为bool值

a = 123
b = bool(a)
ps:当b为一个字符串时,想知道他是真是假也可以用bool() 的方法来查看

9、阅读代码,请写出执行结果
    
    a  =  "alex"
    b  =  a.capitalize()
    print(a)
    print(b)
    请写出输出结果:

alex
Alex    ##首字母大写,upper魔法的功能所有字母大写

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

name  =  " aleX"
    a.  移除 name 变量对应的值两边的空格,并输入移除后的内容
    b.  判断 name 变量对应的值是否以  "al"  开头,并输出结果
    c.  判断 name 变量对应的值是否以  "X"  结尾,并输出结果
    d.  将 name 变量对应的值中的  “l”  替换为  “p”,并输出结果
    e.  将 name 变量对应的值根据  “l”  分割,并输出结果。
    f.  请问,上一题  e  分割之后得到值是什么类型(可选)?
    g.  将 name 变量对应的值变大写,并输出结果
    h.  将 name 变量对应的值变小写,并输出结果
    i.  请输出 name 变量对应的值的第 2 个字符?
    j.  请输出 name 变量对应的值的前 3 个字符?
    k.  请输出 name 变量对应的值的后 2 个字符?
    l.  请输出 name 变量对应的值中  “e”  所在索引位置?
    m.  获取子序列,仅不包含最后一个字符。如:  oldboy  则获取  oldbo;  root  则获取  roo

提示:使用索引和切片完成

name[1:-1]
name[1:-2]

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

如果某一个东西可以被for循环,那你现在可以称他为可迭代对象
for   i   in  值
print(i)

#类
str 等各种方法

#对象,根据str类型创建的一个对象s1
s1 = 'alex'
s2 = 'hello'

12、请用代码实现:
    a.  利用下划线将列表的每一个元素拼接成字符串,li  =  "alexericrain"
    b.  利用下划线将列表的每一个元素拼接成字符串,li  =  ['alex',  'eric',  'rain']    (可选)

v = "_".join(alexericrain)

v = "_".join(['alex','eric']) ##列表中的每一个元素用下划线连接起来
输出:alex_eric

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

python2:
rang 立即创建
xrange for循环时才会一个一个创建

python3:
range for循环时才会一个一个创建

for i in range(0,100,1): #1为步长,输出0 1 2 3 4......
print(i)

for i in range(100,0,-1): #-1为步长,输出100 99 98......
print(i)

14、实现一个整数加法计算器:
    如:
        content  =  input('请输入内容:')    #  如:  5+9  或  5+9  或  5+9

input: 字符串 "5+9"
value = "5+9"
v1,v2 = value.split('+') ##以+为标志分割该字符串,+前边的字符赋值给v1,后边的赋值给v2,但v1、v2都是字符串类型

v1 = int(v1)
v2 = int(v2)
v1 + v2

15、计算用户输入的内容中有几个十进制小数?几个字母? 

如:
        content  =  input('请输入内容:')    #  如:asduiaf878123jkjsfd-­‐213928

c1 = 0
c2 = 0
val = input(">>>")
for item in val:
if item.isalpha():
c1 += 1
elif item.isnumeric():
c2 += 1
print(c1)
print(c2)

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

类和对象的关系

 17、制作趣味模板程序

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

 

template = "我的名字是{0},我{1}岁"
name = input('>>>')
v = template.format(name,18)
print(v)

 18、制作随机验证码,不区分大小写。

流程:
        -­‐  用户执行程序
        -­‐  给用户显示需要输入的验证码
        -­‐  用户输入的值
            用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
        生成随机验证码代码示例:

while True:
code = check_code() ##这个code生成的代码在题目的图中有,直接使用即可
print(code)
v = input('>>>') ##用户输入,把所有的字母全部变成大写或者小写后即可比较

 

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

v = "asdfg"

v = v.replace('s','****')
v = v.replace('a','**')
print(v)

 20、制作表格  

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

 使用的功能:expandtabs

len
[0:20]

s = "" ##定义s为空字符串
while True:
v1 = input('>>')
if v1 == "q":
break
else:
pass
v2 = input('>>')
v3 = input('>>')
template = "{0}\t{1}\t{2}\n"
v = template.format(v1,v2,v3)
s = s + v
print(s.expandtabs(20))

 

 补充:

1. python中各种转义字符 \n \t \v等等

https://blog.csdn.net/xufangfang5206/article/details/80030300   

2.切片与索引 
https://www.cnblogs.com/luruiyuan/p/5926133.html 

3.面向对象理解                    
https://www.cnblogs.com/chengd/articles/7287528.html               

 

posted @ 2018-11-12 12:27  Forever_lee  阅读(852)  评论(0编辑  收藏  举报