常见python入门练习题
1 1.执行python脚本的两种方法 2 3 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文件 然后运行./homework 4 5 第二种:使用python命令执行,如:python homework.py
2.简述,位,字节的关系 位:bit是由八个二进制数组成 1 bit = 0101 0101 字节:一个字节等于八个bit位 1Byet = 8bit
3.简述ascii,unicode,utf-8,gbk的关系 #unicode:包含所有国家的字符编码, #utf-8可变长的字符编码,英文表示一个字节,中文(繁文)表示3个字节 #ascii美国标志信息交换代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,一个字符占一个字节 #gbk全称《汉字内码扩展规范》,一个字符占用两个字节
4.请写出'李杰'分别用utf-8和gbk编码所在的为数 #在utf-8中,一个中文字符占用3个字节 #在gbk中一个汉字占用2个字节 #李杰 = utf-8(6字节) #李杰 = gbk(4字节)
5.python单行注释和多行注释分别用什么 #单行注释:将要注释的行选重。ctrl+/即可 #多行注释:用三对当引号或者三对双引号,将要注释的内容从头到尾括起来
6.声明变量名的注意事项 #1.变量名不能以数字,特殊字符开头,在变量名中也不能包含特殊字符 #2.不能以python中的关键字命名,我们可以调用keyword模块查看这个变量名是否为关键字
8,如何查看变量在内存中的地址 #通过id这个命令可以查看 如:a = 'alex' 内存地址为print(id(a)) #5733152
12,分别书写数字5,10,32,7的二进制表示 #5 = 0000 0101 #10=0000 1010 #32=0010 0000
13,简述对象和类的关系 #在python中一切事物皆对象,对象是基于类创建的
14,现有如下两个变量,请简述n1和n2是什么关系 #n1 = 123,n1是变量名,123是变量值,其实在python内部执行的时候,就是在内存中开辟出了一块123的空间,通过n1 就可以调用这块开辟的空间123 #n2 = 123,在python内部执行的时候,其实是通过python的一个内部机制,去内存里查看有没有这个123这块空间, 如果有就直接调用,没有就从新开辟一块空间,我们可以通过查看变量名的id号来判断这个两个变量是否指向同 一块内存地址 # n1 = 123 print(id(n1)) #1746669840 # n2 = 123 print(id(n2)) #1746669840 两个变量名是指向同一个内存地址
16,现有如下两个变量,请简述n1和n2是什么关系 n1 = 123456 n2 = n1 #n1 = 123456 是在内存中开辟了一块内存空间,而n2 = n1则是n2的值直接指向n1所开辟的那块内存空间,它们 之间是一个对应关系
18,布尔值分别有什么 #True和False
19,阅读代码,写出执行结果 #a = 'alex' #alex #b = a.capitalize() #Alex,capitalize将首字母大写
19,阅读代码,写出执行结果 a = 'alex' #alex b = a.capitalize() #Alex,capitalize将首字母大写 20,写代码,有如下变量,请按照要求实现每个功能 name = 'aleX' a,移除name变量对应的值的两边的空格,并输入移除有的内容 print(a.strip()) #aleX b.判断name变量对应的值是否以'al'开头,并输出结果 print(a.startswith('al')) #True c.判断name是否以'X'结尾,并输出结果 print(a.endswith('X')) #False d.将name变量对应的值中的'l'替换为'p',并输出结果 print(a.replace('l','p')) #apeX e.将name变量对应的值根据'l'分割,并输出结果 print(a.split('l')) #['a', 'eX'] f,上一题e分割之后得到的值是什么数据leix print(type(a.split('l'))) #<class 'list'> g.将name变量对应的值变为大写,并输出结果 print(a.upper()) #ALEX h.将name变量对应的值变为小写,并输出结果 print(a.lower()) #alex i.输出name变量对应的值的第2个字符 print(a[1:2]) #l j.输出name变量对应的值的前3个字符 print(a[:3]) #ale k.输出name变量对应值的后2个字符 print(a[-2:]) #eX l.输出name变量中对应的值中'e‘所在索引位置 print(a.index('e')) #2
21,字符串是否可迭代?如可以请使用for循环每一个元素 #字符串是可迭代的,举例如下: a = ’alex' for i in a: print(i) #结果循环字符串中的字符,并以迭代的方式输出 #a #l #e #x
22,请用代码实现,利用下划线将列表的每一个元素拼接成字符串,li = ['alex','rein','rain'] li = ['alex','jack','rain'] s = '_'.join(li) #alex_jack_rain
23.写代码,有如下列表,按照要求实现每一个功能 li = ['alex','eric','rain'] a.计算列表长度并输出 print(len(li)) #3
b.列表中追加元素'seven',并输出添加后的列表 result = li.append('seven') print(li) #['alex', 'eric', 'rain', 'seven'] c.请在列表的第1个位置插入元素'Tony',并输出添加后的列表 result = li.insert(1,'Tony') print(li) #['alex', 'Tony', 'eric', 'rain'] d,请修改列表的第2个位置为'Kelly',并输出修改后的列表 li[2] = 'Kelly' print(li) #['alex', 'eric', 'Kelly'] e,请删除列表中的元素'eric',并输出修改后的列表 result = li.remove('eric') print(li) #['alex', 'rain'] f,请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表 result = li.pop(2) print(result) #移除的元素 rain print(li) #['alex', 'eric'] g.请删除列表中的第3个元素,并输出删除元素后的列表 li = ['alex','eric','rain','Tony'] result = li.pop(3) print(li) #['alex', 'eric', 'rain'] h.请删除列表中的第2个至4个元素,并输出删除元素后的列表 li = ['alex','eric','rain','Tony'] del li[1:] print(li) #['alex'] i,请将列表所有的元素反转,并输出反转后的列表 li = ['alex','eric','rain','Tony'] result = li.reverse() print(li) #['Tony', 'rain', 'eric', 'alex'] j,请使用for,len,range输出列表的索引 li = ['alex','eric','rain','Tony'] for i in li: i = li.index(i) print(i) 0 1 2 3 k,请使用enumrate输出列表元素和序号(序号从100开始) li = ['alex','eric','rain','Tony'] for i,y in enumerate(li,100): print(i,y) 100 alex 101 eric 102 rain 103 Tony l.请使用for循环输出列表中的所有元素 for i in li: print(i) alex eric rain Tony
24.24.写代码,有如下元祖,按照要求实现每一个功能 tu = ('alex','eric','rain') a,计算元组长度并输出 print(len(tu)) #3 b,计算元组的第2个元素,并输出 result = tu[1] print(result) #eric c,获取元组的第1-2个元素,并输出 result = tu[:2] print(result) #('alex', 'eric')
25,有如下变量,请按照要求实现每个功能 a,简述元组的特性 b,请问tu变量中的第一个元素'alex'是否可被修改 #以元组的形式是不能修改的,我们可以通过将tu的数据类型转换为列表来进行修改 c,tu变量中的'k2'对应的值是什么类型,是否可以被修改,如果可以,请在其中添加一个元素'Seven' result = tu[1][2].get('k2') print(result) #['age', 'name'] print(type(result)) #<class 'list'> result = tu[1][2].get('k2').append('seven') print(tu) #('alex', [11, 22, {'k3': (11, 22, 33), 'k1': 'v1', 'k2': ['age', 'name', 'seven']}, 44]) c,tu变量中的'k3'对应的值是什么类型,是否可以被修改,如果可以,请在其中添加一个元素'Seven' result = tu[1][2].get('k3') #k3不能修改,因为k3对应的value是元组类型 print(result) #(11, 22, 33) print(type(result)) #<class 'tuple'>
26.字典 dic = {'k1':'v1','k2':'v2','k3':[11,22,33]} a.循环输出所有的k for i in dic: print(i) k2 k3 k1 b,循环输出所有的value for k,v in dic.items(): print(v) v2 [11, 22, 33] v1 c,循环输出所有的k和value for k,v in dic.items(): print(k,v) k2 v2 k3 [11, 22, 33] k1 v1 d,在字典中添加键值对,'k4':'v4',输出添加后的字典 result = dic.update({'k4':'v4'}) print(dic) #{'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4', 'k1': 'v1'} e,修改字典中'k1',对应的值为'alex',输出修改后的字典 result = dic.update({'k1':'alex'}) print(dic) #{'k2': 'v2', 'k1': 'alex', 'k3': [11, 22, 33]} f,在k3对应的值中追加一个元素44,输出修改后的字典 dic['k3'].append('alex') print(dic) #{'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33, 'alex']} g,在k3对应的值的第一个位置插入一个元素18,请输出修改后的字典 dic['k3'].insert(1,18) print(dic) #{'k1': 'v1', 'k3': [11, 18, 22, 33], 'k2': 'v2'}
27,转换 a.将字符串s = 'alex'转换为列表 s = 'alex' a = list(s) print(a,type(a))#['a', 'l', 'e', 'x'] <class 'list'> b.将字符串s = 'alex'转换为元组 a = tuple(s) print(a,type(a)) #('a', 'l', 'e', 'x') <class 'tuple'> c.将元组tu = ('Alex','seven') lione = list(tu)转换为列表 tu = lione print(tu,type(tu)) d。将列表li = ['alex','seven']转换为元组 tu = tuple(li) li = tu print(li,type(li)) e,将列表li = ['alex','seven']转换为字典且字典的key按照10开始向后递增 # li = ['alex','seven'] # dic = {} # for key,value in enumerate(li,start=10): # dic[key]=value # print(dic)
27,字符编码转换,n = '老男孩' a,将字符串转换为utf-8编码的字节,并输出,然后在将该字节转换成utf-8编码字符 print(n.encode('utf-8')) #b'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9' print(n.encode('utf-8').decode('utf-8')) #老男孩 b,将字符串转换为gbk编码的字节,并输出,然后在将该字节转换成gbk编码字符 print(n.encode('gbk')) #b'\xc0\xcf\xc4\xd0\xba\xa2' print(n.encode('gbk').decode('gbk')) #老男孩
28,求1-100的所有数的和 count = 0 b = 0 while count <100: count +=1 b +=count print(b) 或者 print(sum(range(1,101)))
29.元素分类 有如下集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存到字典的第一个key中, 将小于66的保存到第二个key中 li = [11,22,33,44,55,66,77,88,99,90] dic = {'k1':[],'k2':[]} for i in li: if i >66: dic['k1'].append(i) else: dic['k2'].append(i) print(dic)