基础知识练习题(一)
1.执行Python脚本的两种方式
(1).交互方式:启动python解释器,执行命令
(2).脚本方式:Python xxx.py 或者 chmod +x && ./xxx.py
2.简述位、字节的关系
一个字节等于8位,而1位在计算机最底层以二进制形式储存的不是0就是1。
3.简述ascii、unicode、uft-8、gbk的关系
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统, 由1个字节组成,最多支持(2**8)-1=255个字符。 Unicode是国际组织制定的可以存储世界上所有文字和字符的字符编码方案机制,由2个字节组成,最多支持2**16=65536个字符 而utf-8最大的特点是一种边长的编码方式,由1-6个字节组成,通常的英文字母被编码成1个字节,汉字3个字节,只有恨生僻的字符才会被编码成4-6个字节组成。 GBK是汉字国际拓展码,由于GBK同时也涵盖了Unicode所有CJK汉字,所以也可以和Unicode做一一对应。
4.请写出“李杰”分别用utf-8和gbk编码所占的位数
UTF-8中一个英文占1个字节,一个中文占3个字节,此处“李杰”占6个字节。
GBK中一个中文占2个字节,此处“李杰”占4个字符。
5.Python单行注释和多行注释分别用什么?
单行注释:#要注释内容 多行注释:"""要注释内容""" 或者‘‘‘要注释内容‘‘‘
6.声明变量注意事项有哪些?
变量由数字、字母、下划线组成
变量不能以数字开头
变量不能使用关键字
变量区分大小写
7.如有一个变量n1 = 5,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示?
n1 = 5
print(n1.bit_length())
8.布尔值分别有什么?
布尔型0和其他类型;“非空即真”
9.阅读代码,请写出执行结果
a = "alex" b = a.capitalize() print(a) print(b) #执行结果: ------------- alex Alex
10.写代码,有如下变量,请按照要求实现每个功能
name=" aleX"
a.移除name变量对应的值两边的空格,并输入移除后的内容
print(name.strip())
b.判断name变量对应的值是否以"al"开头,并输出结果
print(name.startswith(‘al‘),name)
c.判断name变量对应的值是否以"X"结尾,并输出结果
print(name.endswith(‘X‘),name)
d.将name变量对应的值中的"l"替换为"p",并输出结果
print(name.replace(‘l‘,‘p‘))
e.将name变量对应的值中的"l"分割,并输出结果。
print(name.split(‘l‘))
f.请问,上一题l分割之后得到是什么类型(可选)?
列表
g.将name变量对应的值变大写,并输出结果
print(name.upper())
h.将name变量对应的值变小写,并输出结果
print(name.lower())
i.请输出name变量对应的值的第2个字符?
print(name[1])
j.请输出name变量对应的值的前3个字符?
print(name[:3])
k.请输出name变量对应的值的后2个字符?
print(name[-2:]) #-1代表最后一个字符,-2代表倒数第二个字符
l.请输出name变量对应的值中"e"所在的索引位置?
print(name.index(‘e‘))
m.获取子序列,仅不包含最后一个字符。如:oldboy 则获取oldbo;root则获取roo
print(name.rstrip(name[-1:]))
21.字符串是否可迭代?如可以请使用 for 循环每一个元素?
name = "aleX" for i in name: print(i)
22.请用代码实现:
#a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain" li = "alexericrain" print(‘_‘.join(li)) #b.利用下划线将列表的每一个元素拼接成字符串,li = [‘alex‘,‘eric‘,‘rain‘] li = [‘alex‘,‘eric‘,‘rain‘] print(‘_‘.join(li))
23.Python2中的range和Python3中的range的区别?
python2中的range返回的是一个列表,直接创建内容
python3中的range返回的是一个迭代值,只有for循环时,内容才一个一个创建
24.实现一个整数加法计算器:
如:
content = input(‘请输入内容:‘) #如:5+9
content = input(‘请输入内容:‘)
print(eval(content))
25.计算用户输入的内容中有几个十进制数?几个字母?
content = input(‘请输入内容:‘) number = 0 string = 0 for i in range(len(content)): if content[i].isdecimal(): number += 1 if content[i].isalpha(): string += 1 print(‘十进制数%s,字母数:%s‘%(n,s))
26.制作趣味模版程序
user_name = input(‘>>>‘) user_loc = input(‘>>>‘) user_like = input(‘>>>‘) v = ‘敬爱可爱的{name} ,最喜欢在{where}地方干{do}‘ v = v.format(name = user_name,where = user_loc,do = user_like) print(v)
28.制作随机验证码,不区分大小写。
#第一种 import random def v_code(): code = ‘‘ for i in range(5): num=random.randint(0,9) alf=chr(random.randint(65,90)) add=random.choice([num,alf]) code="".join([code,str(add)]) return code print(v_code()) #第二种 l = [] for i in range(6): alpha = chr(random.randint(65, 90)) # random.randrange(65,91) alpha_lower = chr(random.randint(97, 122)) # random.randrange(65,91) num = str(random.randint(0, 9)) ret = random.choice([alpha,num,alpha_lower]) l.append(ret) print(‘‘.join(l))