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,