一、执行python脚本的两种方式
#python name.py Python解析器 #chmod +x name.py二、简述位、字节的关系
1Byte=8bit
三、简述ascii、unicode、utf-8、gbk的关系
ascii是美国最初的英文编码方式
gbk是对ascii的中文扩展,只要第一个字符是大于127就固定表示这个汉字的开始,不管后面跟的是不是扩展字符集里的内容,扩展之后的编码方案被称为gbk标准
Unicode是ISO为了统一地球上所有文化、所有字母和符号的编码,一个中文字符占2个字节
Utf-8就是在互联网上使用最广的一种Unicode的实现方式,为传输而设计的编码,并使编码无国界,这样就可以显示全世界上所有的字符了,utf-8是一个中文字符占3个字节
四、请写出“李杰”,分别用utf-8和gbk编码所占的位数
utf-8:2个中文=6个字节=48bit
gbk:2个中文=4个字节=32bit
五、Python单行注释和多行注释分别用什么?
单行注释:#
多行注释:“”
六、声明变量注意事项有哪些?
变量只能是字母、数字或者下划线的任意组合 变量名的第一个字符不能是数字 最好不要重复Python内置的东西 以下关键字不能声明为变量名:and、as、assert、break、class、continue、def、del、elif、else、except、exec、finally、for、from、global、if、import、in、is、lambda、not、or、pass、print、raise、return、try、while、with、yield七、如何查看变量在内存中的地址?
name = ‘Alex’
id(name)
八、执行Python程序时,自动生成的.pyc文件的作用是什么?
pyc文件是PyCodeObject的一种持久化保存方式,是Python、执行前生成的变异字节码文件
九、写代码
实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败! username = input("请输入用户名 : ") password = input("请输入密码: ") if username == 'username' and password == 'password': print('登陆成功 !') else: print("用户名或密码错误!") 实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次 实现用户输入用户名密码,当用户名为seven或alex且密码为123时,显示登录成功,否则失败,失败时允许重复输入三次error_num=0
while True:
username = input("请输入用户名 : ")
password = input("请输入密码: ") if username == 'wangxue' or username == 'wang': if password == 'password': print('登陆成功 !') break else: print("用户名或密码错误!") error_num += 1 if error_num == 3: exit() else: continue 十、写代码 1、使用while循环实现输出2-3+4-5+6...+100的和 sum = 0 for i in range(2,101): if i % 2 == 0: sum += i else: sum -= i print(i,sum) print("sum:",sum) 2、使用for循环和range实现输出1-2+3-4+5-6...+99的和 sum = 0 for i in range(1,100): if(i%2==0): sum -= i else: sum += i print(i,sum) print("sum:",sum) 3、使用while循环实现输出1,2,3,4,5, 7,8,9, 11,12n=0 while(n < 12): n+=1 if(n == 6 or n == 10): print(end=" ,") continue else: print(n,end=",") 4、使用while循环实现输出1-100内的所有奇数
n = 0 s = 0 while(s < 99): s = 2*n+1 n+=1 print(s,end=" ") for i in range(1,100,2): print(i,end=" ") print("\n") 5、使用while循环实现输出1-100内的所有偶数 m = 1 h = 0 while(h < 100): h = 2*m m+=1 print(h,end=" ") 十一、分别书写数字5,10,32,7的二进制表示 a = [5,10,32,7] for i in a: print(i,"(十进制):",bin(i)) print(i,"(八进制):",oct(i)) print(i,"(十六进制):",hex(i)) 十二、简述对象和类的关系(可用比喻的手法) 对象是例的实例化 十三、现有如下两个变量,请简述n1和n2的关系,n1=123,n2=123? 内存地址相同,引用同一个内存地址 十四、现有如下两个变量,请简述n1和n2的关系,n1=123,n2=123? 内存地址相同,引用同一个内存地址 十五、如有以下变量n1=5,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示? n1=5 v=int(n1.bit_length()) print(v) print(bin(n)) 十六、布尔值分别有什么 真、假 True、False 0、1 十七、阅读代码,请写出执行结果 a="alex" b=a.capitalize() print(a) print(b) 请写出输出结果:alex Alex 十八、写代码,有如下变量,请按照要求实现每个功能 name="alex" 1、移除name变量对应的值两边的空格,并输入移除有的内容 2、判断name变量对应的值是否以“al”开头,并输出结果 3、判断name变量对应的值是否以“X”结尾,并输出结果 4、讲那么变量对应的值中的“l”替换为“p”,并输出结果 5、讲name变量对应的值根据“l”分割,并输出结果 6、请问,上一题e分割之后得到值是什么类型 7、将name变量对应的值变大写,并输出结果 8、将name变量对应的值变小写,并输出结果 9、请输出name变量对应的值的第2个字符 10、请输出name变量对应的值得前3个字符 11、请输出name变量对应的值的后2个字符 12、请输出name变量对应的值中“e”所在索引位置 解答: name = " aleX" print("name=",name) print("name=",name.strip()) #移除空格 print("name=",name.startswith("al")) #是否以al开头 print("name=",name.endswith("X")) #是否以X结尾 print("name=",name.replace("l","p")) #p替换l print(name.split('l')) #以l为界分割 print(type(name.split('l'))) #以l分割之后的值类型 print("name=",name.upper()) #转化大写字母 print("name=",name.lower()) #转换小写字母 print(name[1]) #输出变量值对应的第二个字符 print(name[:2]) #输出前三个字符 print(name[-2:]) #输出后两个字符 print(name.index("e")) 十九、字符串是否可迭代?如可以请使用for循环每一个元素 for i in name: #字符串迭代,使用for循环每一个元素 print(i,end=" ") 二十、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain'] li = ['alex','eric','rain'] #利用下划线讲列表的每一个元素拼接成字符串 print("_".join(li)) 二十一、写代码,有如下列表,按照要求实现每一个功能 li=['alex','eric','rain'] 1、计算列表长度输出 2、列表中追加元素“seven”,并输出添加后的列表 3、请在列表的第1个位置插入元素“Tony”,并输出添加后的列表 4、请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表 5、请删除列表中的元素“eric”,并输出修改后的列表 6、请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表 7、请删除列表中的第2个元素,并输出删除元素后的列表 8、请删除列表中的第2至第4个元素,并输出删除元素后的列表 9、请将列表所有的元素反转,并输出反转后的列表 10、请使用for、len、range 输出列表的索引 11、请使用enumrate输出列表元素和序号(序号从100开始) 12、请使用for循环输出列表的所有元素 解答: li = ['alex','eric','rain'] print("1:",len(li)) #计算li的数组长度 li.append("seven") #追加元素 print("2:",li) li.insert(0,"Tony") #数组的第一个位置添加Tony元素 print("3:",li) li[1] = "Kelly" #数组的第二个位置的元素改为Kelly print("4:",li) li.remove("eric") #删除eric这个元素 print("5:",li) print("6:",li[1]) #删除列表中的第二个元素 del li[1] print("7:",li) del li[2] #删除第三个元素 print("8:",li) li.append("seven") li.append("alex") li.append("Kelly") li.append("hello") print(li) del li[1:4] #删除第2到第四个元素 print("9:",li) li.reverse() #反转列表中的所有元素 print("11:",li) print("\n") for i in range(len(li)): #使用for、len、range输出列表的索引 print(i,end=" ") print("\n") for k,v in enumerate(li,100): #使用enumerate输出列表元素和序号 print(k,".",v) for i in li: #for循环输出元素列表 print(i,end=" ") 二十二、按照功能要求实现每一个功能 li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446] 1、请输出“Kelly” 2、请使用索引找到'all'元素并将其修改为"ALL" 解答: li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446] print(li) s = li[2][1][1] #输出“Kelly” print(s.capitalize()) index = li[2].index("all") #使用索引找到all,并把all修改为ALL li[2][index] = "ALL" print(li) 二十三、写代码,有如下元组,按照要求实现每一个功能 tu = {'alex','eric','rain'} 1、计算元组长度并输出 2、获取元组的第2个元素,并输出 3、获取元组的第1-2个元素,并输出 4、请使用for输出元组的元素 5、请使用for、len、range输出元组的索引 6、请使用enumrate输出元组元素和序号(序号从10开始) 解答: tu = ['alex','eric','rain'] print(len(tu)) #计算并输出数组长度 print(tu[1]) #获取元组的第二个元素 print(tu[0:2]) #获取元组的第1-2个元素 for i in tu: #for输出元组的元素 print(i,end=" ") print("\n") for i in range(len(tu)): print(i,end=" ") print("\n") for k,v in enumerate(tu,10): print(k,":",v) 二十四、实现要求的功能 tu = ("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44]) 1、讲述元组的特性 2、请问tu变量中的第一个元素“alex”是否可被修改? 3、请问tu变量中的“k2”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven” 4、请问tu变量中的“k3”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“seven” 解答: 1、具有列表的全部特性,不同的是,元素不能修改 2、列表list,不 3、 tu = ('alex', [1