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,
#     },
# }
原文地址:https://www.cnblogs.com/z-x-y/p/7040153.html