s5_day4作业
Posted When you look into the abyss,
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了s5_day4作业相关的知识,希望对你有一定的参考价值。
# #流程控制练习题: # #==========>基础部分 # #练习一: # if True or False and False: # print(‘yes‘) # else: # print(‘no‘) # #输出结果为?为什么? #and优先级比or高,所以先计算False and False, # 结果是False,True or False结果为True,输出结果为Yes # if (True or False) and False: # print(‘yes‘) # else: # print(‘no‘) # #输出结果为?为什么? #先计算括号里的,True or False结果为True,True and False结果为False, # 输出结果为no, # #练习二:编写if多分支,猜老男孩的年纪 # age=50 # while True: # a = int(input(‘猜年龄:‘)) # if a>age: # print(‘猜大了‘) # continue # elif a<age: # print(‘猜小了‘) # continue # else: # print(‘猜对了‘) # break # #练习三:用户输入用户名密码验证,验证通过后进入子循环,输入命令,命令若为q,则退出所有循环 # flag=True # while flag: # name=input(‘name: ‘) # pwd=input(‘password: ‘) # if name == ‘z‘and pwd==‘123‘: # while flag: # cmd=input(‘>>>‘) # if cmd==‘q‘: # flag=False # #练习四:循环取出元组中所有元素:方式一:while和for(按照索引),方式二:不按照索引的方式 # t=(1,2,3,4,5,6,7,8,9) #方式一 # s=0 # while s<len(t): # print(t[s]) # s+=1 # for i in range(len(t)): # print(t[i]) # 方式二 # for i in t: # print(i) # #练习五:循环读取列表以及子列表中所有元素 l=[1,2,[3,4],[5,6]] # 第一种 # s=0 # while s<len(l): # # if type(l[s]) is list: # if isinstance(l[s],list):#推荐使用这种 # for i in l[s]: # print(i) # else: # print(l[s]) # s+=1 # 第二种 # for i in l: # #if type(i)==list: # if isinstance(i,list):#推荐使用这种 # for i1 in i: # print(i1) # else: # print(i) # #练习六:打印 # ‘‘‘ # * # *** # ***** # ******* # ‘‘‘ # for i in range(1,8,2): #1 3 5 7 # print(‘ ‘*(4-(i+1)//2)+‘*‘*i) # #练习七:打印 # ‘‘‘ # ***** # *** # * # ‘‘‘ # for i in range(5,0,-2): # print(‘ ‘*(4-(i+1)//2)+‘*‘*i) # #练习八:打印 # ‘‘‘ # * # ** # *** # **** # ***** # ‘‘‘ # for i in range(6): # print(‘*‘*i) # #练习九:打印 # ‘‘‘ # ****** # ***** # **** # *** # ** # * # ‘‘‘ # for i in range(6,0,-1): # print(‘*‘*i) # #练习十:编写登陆接口 # 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 # count=0 # while count<3: # name = input(‘name: ‘) # pwd=input(‘password: ‘) # if name == ‘z‘and pwd==‘123‘: # print(‘successful‘) # else: # count += 1 # continue # #数据类型练习题: # #练习一:有十进制数 # n=10 # 转成二进制 # print(bin(n)) # 转成八进制 # print(oct(n)) # 转成十六进制 # print(hex(n)) # #练习二:与用户交互,要求用户输入年龄和薪资,将用户输入的年龄转成整形,将用户输入的薪资转成浮点型 # age=int(input(‘age: ‘)) # print(type(age)) # salary=float(input(‘salary: ‘)) # print(type(salary)) # #练习三: # 用户输入用户名,年纪,工作,爱好,格式化输出如下内容(使用%s和format两种方式) # ------------ info of Alex Li ----------- # Name : Alex Li # Age : 22 # job : Teacher # Hobbie: girl # ------------- end ----------------- # %s 方式 # s = """ # ------------ info of Alex Li ----------- # Name : %s # Age : %s # job : %s # Hobbie: %s # ------------- end ----------------- # """ # # name = input("请输入用户名:").strip() # age = input("请输入年纪:").strip() # job = input("请输入工作:").strip() # hobbie = input("请输入爱好:").strip() # print(s % (name, age, job, hobbie)) # format 方式 # s = """ # ------------ info of Alex Li ----------- # Name : {} # Age : {} # job : {} # Hobbie: {} # ------------- end ----------------- # """ # # name = input("请输入用户名:").strip() # age = input("请输入年纪:").strip() # job = input("请输入工作:").strip() # hobbie = input("请输入爱好:").strip() # print(s.format(name, age, job, hobbie)) # #练习四: s=‘alex say hello‘ # 切片取出第say # print(s[5:8]) # 切片取出倒数后两个字符 # print(s[-2:]) # #练习五: # # 编写循环,让用户输入年纪,如果输入为空,或者不为数字,则重新输入 # while True: # a=input(‘输入年纪:‘) # if not a or not a.isdigit(): # continue # break # #练习六: # 用列表模拟上电梯的流程(队列)#先进先出 # 循环生成一个1000个值的列表(入队) # 循环取走这个1000个值(出队) # q = [] # 定义一个列表 # for i in range(1000): # q.append(i) # 入队 # # for j in range(1000): # print(q[0]) # 依次出队 # # 用列表模拟把衣服放箱子里,然后取衣服的流程(堆栈)#先进后出,后进先出 # 循环生成一个1000个值的列表(入栈) # 循环取走这个1000个值(出栈) # q = [] # for i in range(1000): # q.append(i) # # for j in range(1, 1001): # print(q[-j]) # # # #元组 # # # #字典 # # # #集合 # # # #tuple和list互相转换 # # # #练习七: # dicta={‘a‘:1,‘b‘:2,‘c‘:3,‘d‘:‘hello‘} # dictb={‘b‘:3,‘c‘:2,‘d‘:‘world‘,‘f‘:10} # #两字典相加,不同的key对应的值保留,相同的key对应的值相加后保留,如果是字符串就拼接(字符串拼接‘hello‘+‘world‘得‘helloworld‘) # # {‘a‘: 1, ‘b‘: 5, ‘c‘: 5, ‘d‘: ‘helloworld‘, ‘f‘: 10} # for i in dicta: # if i in dictb: # dicta[i]+=dictb.pop(i) # else: # dicta.update(dictb) # print(dicta) # # 练习八: # a.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登录成功,否则登录失败! # while True: # name=input(‘name:‘) # pwd=input(‘passwd:‘) # if name == ‘seven‘ and pwd==‘123‘: # print(‘登陆成功‘) # break # else: # print(‘登陆失败‘) # b.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登录成功,否则登录失败,失败时允许重复输入三次 # count=0 # while count<3: # name=input(‘name:‘) # pwd=input(‘passwd:‘) # if name == ‘seven‘ and pwd==‘123‘: # print(‘登陆成功‘) # break # else: # print(‘登陆失败‘) # count+=1 # c.实现用户输入用户名和密码,当用户名为seven或alex且密码为123时,显示登录成功,否则登录失败,失败时允许重复输入三次 # count=0 # while count<3: # name=input(‘name:‘) # pwd=input(‘passwd:‘) # if name == ‘seven‘ or name==‘alex‘ and pwd==‘123‘: # print(‘登陆成功‘) # break # else: # print(‘登陆失败‘) # count+=1 # 练习九: # 写代码 # a.使用while循环实现输出2-3+4-5+6...+100的和 # s=0 # n=1 # while n<100: # n+=1 # if n%2==0: # s+=n # else: # s-=n # print(s) # b.使用for循环和range实现输出1-2+3-4+5-6...+99的和 # s=0 # for i in range(1,100): # if i%2==1: # s+=i # else: # s-=i # print(s) # c.使用while循环实现输出1,2,3,4,5 7,8,9 11,12 # i=0 # while i<12: # i+=1 # if i==6 or i==10: # continue # print(i) # d.使用while循环实现输出1-100内的所有奇数 # i=0 # while i<100: # i+=1 # if i%2==1: # print(i) # e.使用while循环实现输出1-100内的所有偶数 # i=0 # while i<100: # i+=1 # if i%2==0: # print(i) # 练习十: name = "alex" # a.移除name变量对应的值的两边的空格,并输入移除有的内容 # print(name.strip()) # b.判断name变量对应的值是否以"al"开头,并输出结果 # print(name.startswith(‘al‘)) # c.判断name变量对应的值是否以"x"结尾,并输出结果 # print(name.endswith(‘x‘)) # d.将name变量对应的值中的"l"替换为"p",并输出结果 # print(name.replace(‘l‘,‘p‘)) # e.将name变量对应的值根据"l"分割,并输出结果 # print(name.split(‘l‘)) # f.请问,上一题e分割之后得到的值是什么类型 # print(type(name.split(‘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:]) # l.请输出name变量对应的值中"e"所在的索引位置? # print(name.index(‘e‘)) # 练习十一: # 写代码,有如下列表,按照要求实现每一个功能 li = [‘alex‘,‘eric‘,‘rain‘,‘eric‘,‘rain‘] # a.计算列表长度并输出 # print(len(li)) # b.列表中追加元素"seven",并输出添加后的列表 # li.append(‘seven‘) # print(li) # c.请在列表的第1个位置插入元素"Tony",并输出添加后的列表 # li.insert(0,‘Tony‘) # print(li) # d.请修改列表第2个位置的元素为"Kelly",并输出修改后的列表 # li[1]=‘Kelly‘ # print(li) # e.请删除列表中的元素"eric",并输出修改后的列表 # li.remove(‘eric‘) # print(li) # f.请删除列表中的第2个元素,并输出删除元素的值和删除元素后的列表 # print(li.pop(1)) # print(li) # g.请删除列表中的第3个元素,并输出删除元素后的列表 # li.pop(2) # print(li) # h.请删除列表中的第2至4个元素,并输出删除元素后的列表 # 第一种 # del li[1:4] # 第二种 # li[1:4]=[] # print(li) # i.请将列表所有的元素反转,并输出反转后的列表 # 第一种 # li.reverse()#返回值是None # print(li) # 第二种 # print(li[::-1])#返回值是反转后的新列表 # #练习十二: # 取出列表中的名字,年龄,出生的年,月,日 # data=[‘alex‘,49,[1900,3,18]] # for i in data: # if type(i) is list: # for i1 in i: # print(i1) # else: # print(i) # #练习十三: # 去掉重复 # names=[‘egon‘,‘alex‘,‘egon‘,‘wupeiqi‘] # print(list(set(names))) # print(list(dict.fromkeys(names)))#利用字典的key不能重复来去重 # #练习十四: # 去掉重复,且保证列表顺序与原来保持一致 # names=[‘egon‘,‘alex‘,‘egon‘,‘wupeiqi‘] # 方法一:有序字典 # from collections import OrderedDict # names = list(OrderedDict.fromkeys(names)) # print(names) # 方法二:利用set # seen = set() # names = [x for x in names if not (x in seen or seen.add(x))] # print(names) # 方法三 # print(list(dict.fromkeys(names))) # #练习十五: # 去掉重复,且保证列表顺序与原来保持一致 # names=[[1,2],3,[1,2],4] # a=[] # for i in names: # if i not in a: # a.append(i) # print(a) # #练习十六: # 统计s=‘hello alex alex say hello sb sb‘中每个单词的个数 # s = ‘hello alex alex say hello sb sb‘ # s_l = s.split() # 按空格分割成列表 # keys = set(s_l) # 取到所有出现过的单词 # for i in keys: # print(i, s_l.count(i)) # 打印下数量 # #练习十七:字典嵌套使用 # #alex发表了朋友圈: # alex_msg=‘‘‘ # 我想淫一首小诗 # 歌颂我的同桌 # 她乌黑的头发 # 好像一直炸毛鸡 # ‘‘‘ # # #eogn发表了朋友圈: # egon_msg=‘‘‘ # 总有文盲装文艺 # ‘‘‘ # # # comments={ # alex_msg:{ # ‘author‘:‘alex‘, # ‘comments‘:[ # (‘wupeiqi‘,‘真傻比‘), # (‘元昊‘,‘确实傻比‘), # (‘egon‘,‘同上‘) # ], # ‘thumb_counts‘:3, # }, # egon_msg:{ # ‘author‘:‘egon‘, # ‘comments‘:[ # (‘alex‘,‘说谁呢‘), # (‘元昊‘,‘你被开除了‘), # (‘wupeiqi‘,‘好刺激‘) # ], # ‘thumb_counts‘:2, # }, # }
以上是关于s5_day4作业的主要内容,如果未能解决你的问题,请参考以下文章