python 基础练习题(一)

1.执行 Python 脚本的两种方式 ?
  • 命令行调用 python 1.py
  • python解释器
2.简述位、字节的关系

位(bit),数据存储是以“字节”(Byte)为单位,数据传输是以大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位,是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。

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

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.声明变量注意事项有那些?
  • 不能以数字开头
  • 不能是python中的关键字
7.如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
n1 = 5;
print(n1.bit_length()) #3

整数bit_length方法允许查询二进制的位数或长度

8.阅读代码,请写出执行结果
a	=	"alex"
	 b	=	a.capitalize()
	 print(a)
	 print(b)
alex
Alex
9.写代码,有如下变量,请按照要求实现每个功能
name = "alex"
# 移除 name 变量对应的值两边的空格,并输入移除后的内容
print(name.strip())
# 判断 name 变量对应的值是否以 "al"	 开头,并输出结果
print(name.startswith("al"))
# 判断 name 变量对应的值是否以 "X"	 结尾,并输出结果
print(name.endswith("X"))
# 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
print(name.replace("l","p"))
# 将 name 变量对应的值根据 “l” 分割,并输出结果
print(name.split("l"))
print(name.partition("l"))
# 将 name 变量对应的值变大写,并输出结果
print(name.upper())
# 将 name 变量对应的值变小写,并输出结果
print(name.lower())
# 请输出 name 变量对应的值的第 2 个字符?
print(name[0:2])
# 请输出 name 变量对应的值的前 3 个字符?
print(name[0:3])
# 请输出 name 变量对应的值的后 2 个字符?
print(name[-1:-3])
# 获取子序列,仅不包含最后一个字符。如: oldboy	 则获取 oldbo;	root	 则获取 roo
print(name[0:-1])

# 字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
for item in name:
    print(item)
10.利用下划线将列表的每一个元素拼接成字符串
# 利用下划线将列表的每一个元素拼接成字符串,li	 = "alexericrain"
li	= "alexericrain"
print("_".join(li))
li	= ['alex',	'eric',	'rain']
print("_".join(li))
a_l_e_x_e_r_i_c_r_a_i_n
alex_eric_rain
11.Python2 中的 range 和 Python3 中的 range 的区别?

py2种range(100)会立即创建元组[0,99],py3种则不会,而是在遍历时才会创建,并且是每遍历一次创建一个。

12.计算用户输入的内容中有几个十进制小数?几个字母?
test = "123456abcdefg"
c1 = 0  # 字母
c2 = 0  # 数字

for item in test:
    if item.isalpha():  # 如果是字母
        c1 += 1
    elif item.isalnum(): # 如果是数字
        c2 += 1
print("c1",c1," c2",c2)
13.简述 int 和 9等数字 以及 str 和 “xxoo” 等字符串的关系
类和对象的关系
14.制作随机验证码,不区分大小写。
def generateCode():
    verify_code = ""
    for i in range(6):
        v = random.randrange(6)
        temp = ""
        if v !=i :
            temp = chr(random.randint(65,90))
        else:
            temp = random.randint(0,10)
        verify_code += str(temp)
    return  verify_code

flag = True
while(flag):
    code = generateCode()
    print(code)
    text = input(">>>")
    if(text == code):
        print("right")
        flag = False
    else:
        print("wrong,verify again")