python基础知识练习题一

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

1.在计算机终端(运行cmd),输入安装的Python路径,然后输入Python脚本的路径,回车。

2.直接运行python

2.简述位、字节的关系

1字节 = 8位二进制

3.简述ASCII,Unicode,utf-8, gbk 的关系

ascll是国际标准编码,8位二进制表示一个字符,最先产生

Unicode是万国码,通用,16位二进制表示一个字符

utf - 8,能用多少位表示就用多少位,3个字节表示中文,可以和Unicode互相转换

gbk 是为汉字发明,2个可以表示中文,可以和Unicode互相转换

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

48和32

5.Python单行注释和多行注释分别用什么表示

单行注释:#

多行注释:"""      """

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

1.不能用数字开头

2.不能是python的关键字

3.不要和python内置的东西重复

4.让变量名尽量有意义些

7.如以下变量n = 5,请使用int方法,得到该变量最少可以用多少个二进制位表示

n = 5
v = n.bit_length()
print(v)

8.布尔值分别有什么

True 和False

9.阅读代码,请写出执行结果。

a = "alex"
b = a.capitalize()
print(a)
print(b)

alex  和Alex

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

name = "  aleX"

a.移除name变量对应的值两边的空格,并输入移除后的内容

n = "  aleX"
v = n.lstrip()
print(v)

b.判断name变量对应的值是否以“al”开头,并输出结果

n = "  aleX"
v = n.startswith("al")
print(v)

c.判断name变量对应的值是否以“X”结尾

n = "  aleX"
v = n.endswith("X")
print(v)

d.将name变量对应的值中的“X”替换为“p”

n = "  aleX"
v = n.replace("X","p")
print(v)

e. 将name变量对应得值根据“l”分割

n = "  aleX"
v = n.split("l")
print(v)

f. 请问上一题e分割后得到的值是什么类型

列表类型(list)

g.将name变量对应得值变大写

n = "  aleX"
v = n.upper()
print(v)

h.将name变量对应得值变小写

n = "  aleX"
v = n.lower()
print(v)

i. 请输出name变量对应的值的第二个字符

n = "  aleX"
v = n[1]
print(v)

是空格

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

n = "  aleX"
v = n[0:3]
print(v)

空格 空格 a

k. 请输出name变量对应的后两个字符

n = "  aleX"
v = n[4:6]
print(v)

l. 请输入name变量中的“e”所在的索引位置

n = "  aleX"
count =  0
for i in n:
    while i == 'e':
        print(count)
        break
    count = count + 1

m. 获取子序列,仅不包含最厚一个字符。

n = "  aleX"
v = n[:-1]
print(v)

 21. 字符串是否是可迭代对象?

是,可以用for循环每一个元素

22.请利用代码实现

a.利用下划线将列表的每一个元素拼接成字符串,li = "sadqasfqwefgwg"

n = "wsdgfsdgfg"
v = "_".join(n)
print(v)

23. python2中的range和python3中的区别

python2中的range在循环后直接创建对象,python3中,在for 循环时才一个一个创建,Python2中有xrange,效果和python3中的range效果一样

24.实现一个整数加法计算器

count = input("请输入内容:")
a, b = count.split("+")
print(int(a)+int(b))

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

count = input("请输入内容:")
num = 0
al = 0
for i in count:
    n = i
    if n.isalpha():
        al +=1
    if n.isdecimal():
        num +=1
print("字母有%d个,数字有%d个"%(al,num))

26.简述 int 和9等数字,以及str和“ooxx”等字符串的关系?

int  str 这些叫类或类型,而9和“ooxx”都是根据相应类型创建的对象

27.制作趣味模板程序

需求:等待用户输入名字、地点、爱好,实现:敬爱可亲的xxx,最喜欢在xxx干xxx.

info = input("请输入你的姓名,地点,爱好(中间用逗号隔开):")
a = info.split(",")[0]
b = info.split(",")[1]
c = info.split(",")[2]
print("敬爱的{0}最喜欢在{1}{2}".format(a,b,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
while True:
    code = check_code()
    code1 = code.lower()
    print(code1)
    ver_code = input("请输入上面验证码:")
    ver_code1 = ver_code.lower()
    if ver_code1 == code1:
        print("我喜欢你")
        break

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

v = input("请输入内容:")
v = v.replace("苍老师", "***")
v = v.replace("东京热", "***") print(v)

30.制作表格

循环提示用户输入:用户名、密码、邮箱(要求用户输入的长度不超过20个字符,如果超过则只有20个字符有效)

如果用户输入q或Q表示不再继续输入,将用户输入的内容以表格形式打印

s = ""
while True:
    name = input("请输入用户名:")[0:21]
    if name == "q" or name == "Q":
        break1
    ser = input("请输入密码:")[0:21]
    mal = input("请输入邮箱:")[0:21]
    info = "{0}\t{1}\t{2}\n"
    v = info.format(name, ser, mal)
    s = s + v

print(s.expandtabs(20))

 注意结束程序的那个判断,if name = "q" or name = "Q"     Q在python里永远为True,  

 如果先输入q,那name  == q,就是True,  True  or  True 得到 True,
 如果先输入Q,那q为false,因为or,还是得True
posted @ 2019-05-30 17:38  绝世刘  阅读(15636)  评论(0编辑  收藏  举报