# 一、复习之前的内容,重点复习if语句, #if语句复习,如果条件成立执行代码块中的语句 #不成立则会被跳过 #if 多分枝 #当程序执行到elif语句时首先计算条件1的值 #如果条件1不成立,就那个条件先成立执行那个 #(那个符合执行那个)都不符合就else a=12 if a==12: print(123) a=123 if a==123: print(999009) else:print(888) else:print(23323) s=3 #while循环条件为真则不断执行循环 #while条件为假跳出循环 while s==3: print(123) s+=2 # 二、总结之前提到的面试题 # 三、完成下面的线下周测试题 # 1.简述Python中列表,元组,字典以及集合各自的特点 # 2.简述Python中深拷贝和浅拷贝的区别并举例说明 #深拷贝无论另一个列表如何修改零一个列表不变 #浅拷贝,一维列表不共用,多维列表内层共用外层单独 a=[1,2,3,4,5,6,["fdw",12]] b=a.copy() b[2]=122 print(a) print(b) a=[1,2,3,4,5,6,["fdw",12]] b=a.copy() a[-1][1]=1001 print(a) print(b) # .写出下面代码的输出结果并说明原因 list1 = ['a', 'b', 'c', 'd', 'e'] print(list1[10:]) # 5.写出下面代码的输出结果并说明原因 str1 = 'hello python' str1.title() print(str1) str1 = 'hello python' str1.title() print(str1) # hello python,字符串是不可变的,但凡涉及到修改的操作,都是生成了新的字符串,对原字符串没有任何影响 # .写出下面代码执行的结果并说明原因 # list1=[5,3,1,9,12] # s=[x for x in list1 if x%3==0] # print(s) # r = (x for x in list1 if x%3==0) # print(r) list1=[5,3,1,9,12] r = (x for x in list1 if x%3==0) print(type(r)) # <class 'generator'> ,这是一个生成器的语法,得到的结果 r 是一个生成器 # 6.在控制台中重复录入在西游记中你喜欢的人物。 # 输入空字符串,打印所有人物。 x=0 c=[] while x==0: a = input("请输入在西游记中你喜欢的人物输入一个空格退出") c.append(a) if a==" ": c.remove(a) x += 1 print(c) like_list= [] while True: name = input ("请输入你喜欢的人物:") if name: like_list.append(name) else: break print(like_list) # 7.在控制台中录入,所有学生名字,如果姓名重复, # 则提示"姓名已经存在",不添加到列表中#,如果录入空字符串, # 则倒序打印所有学生 s=[] x=0 m=0 while x==0: k = input("请输入学生姓名") if k not in s: s.append(k) else: print("名字已经存在") if k==" ": s.remove(k) s.reverse() x=1 print(s) # names_list=[] # while True: # name_input=("请输入学生姓名:") # if name_input ==" ": # break # if name_input not in names_list: # names_list.append(name_input) # else: # print("姓名已经存在") # print(names_list[::-1]) # 8.输入一个数字,转换成中文数字。 # 比如:1 -----> 壹,5 -----> 伍 c=input("请输入一个数字") uuuu=str.maketrans("123456789","一二三四五六七八就") uuuu=c.translate(uuuu) print(uuuu) num = input("请输入一个数字:") num_dict = {'1':'壹','2':'贰','3':'叁','4':'肆','5':'伍','6':'陆','7':'柒','8':'捌','9':'玖','10':'拾'} if num in num_dict: print(num_dict[num]) # 9.有如下商品价格:568,239,368, # 425,121,219,834,1263,26, # 请输入随意一个价格区间进行商品的筛选, # 并能够对筛选出的商品进行从大到小和从小到大进行排序, # 并求出这个区间的商品的平均价格 numslist = [568,239,368,425,121,219,834,1263,2] minprice,maxprice = eval(input("请输入两个数字表示价格区间:")) result_list = [] for num in numslist: if num in range(minprice,maxprice): result_list.append(num) # 升序 result_list.sort() print(result_list) # 降序 result_list.sort(reverse=True) print(result_list) # 平均价格 avg_price = sum(result_list) / len(result_list) print(avg_price) # 10.编写程序,使用列表生成表达式生成一个包含50个随机整数的列表 # ,然后删除其中所有奇数 import random numslist = [random.randint(1,100) for x in range(50)] print(numslist) for num in numslist[:]: if num % 2 == 1: numslist.remove(num) print(numslist) import random hhh=random.randint(1,100)#打印1到100中的随机的一个数字 print(hhh) x=0 m=[] while x<=50: lll=random.randint(1,100) if lll not in m: m.append(lll) x+=1 print(m)