首页 > 代码库 > s5_day4作业

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=http://www.mamicode.com/[‘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作业