python day02练习和作业


# 1、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=[‘alex’, ‘eric’, ‘rain’]
# li=['alex','eric','rain']
# print('_'.join(li))
# 2、查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。

# li = ["alec", " aric", "Alex", "Tony", "rain"]
#
# for l in li:
# l=l.strip()
# if l.startswith('a') or l.startswith('A') and l.endswith('c'):
# print(l)

# tu = ("alec", " aric", "Alex", "Tony", "rain")
#
# for l in tu:
# l=l.strip()
# if l.startswith('a') or l.startswith('A') and l.endswith('c'):
# print(l)
# dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
#
# for l in dic:
# l=dic[l].strip()
# if l.startswith('a') or l.startswith('A') and l.endswith('c'):
# print(l)
# 3、写代码,有如下列表,按照要求实现每一个功能
#
# li=['alex','eric','rain']
#
# 计算列表长度并输出
# print(len(li))
# 列表中追加元素“seven”,并输出添加后的列表
# li.append("seven")
# print(li)
# 请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
# li.insert(0,"Tony")
# print(li)
# 请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
# li[1]='Kelly'
# print(li)
# 请删除列表中的元素“eric”,并输出修改后的列表
# li.remove('eric')
# print(li)
# 请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
# line=li.pop(1)
# print(line)
# print(li)
# 请删除列表中的第3个元素,并输出删除元素后的列表
# li.pop(2)
# print(li)
# 请删除列表中的第2至4个元素,并输出删除元素后的列表
# del li[1:4]
# print(li)
# 请将列表所有的元素反转,并输出反转后的列表
# li.reverse()
# print(li)
# 请使用for、len、range输出列表的索引
# for l in range(len(li)):
# print(l)

# 请使用enumrate输出列表元素和序号(序号从100开始)
# for index, val in enumerate(li, 100):
# print(index)
# 请使用for循环输出列表的所有元素
# for l in li:
# print(l)
# 4、写代码,有如下列表,请按照功能要求实现每一个功能
#
# li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
# 请根据索引输出“Kelly”
# 请使用索引找到’all’元素并将其修改为“ALL”,如:li[0][1][9]…
# print(li[2][1][1])
# li[2][2]='ALL'
# print(li)
'''5、有如下变量,请实现要求的功能

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”
'''
# tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
# 1.1)元组tuple是一个只读列表,只可以查看,不可以修改增加和删除;
# 2)在定义只有一个元素的元组时,要加上逗号,空元组使用"()"表示。
# 2.不可以
# 3.是列表类型,可以被修改
# tu[1][2]['k2'].append('Seven')
# print(tu)
# 4.是元组类型,不可以被修改
'''
6、转换

1.将字符串s = “alex”转换成列表
2.将字符串s = “alex”转换成元祖
3.将列表li = [“alex”, “seven”]转换成元组
4.将元组tu = (‘Alex’, “seven”)转换成列表
5.将列表li = [“alex”, “seven”]转换成字典且字典的key按照10开始向后递增

'''
# s="alex"
# print(list(s))
# print(tuple(s))
# li=["alex","seven"]
# print(tuple(li))
# tu=("alex","seven")
# print(list(tu))
# li = ["alex", "seven"]
# print(dict(enumerate(li,10)))
'''
7、元素分类

有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,
将小于66的值保存至第二个key的值中。

即:{‘k1’:大于66的所有值, ‘k2’:小于66的所有值}。(编程题)
'''
# list=[11,22,33,44,55,66,77,88,99,90]
# dict={'k1':[],'k2':[]}
# for l1 in list:
# if l1 >= 66:
# dict['k1'].append(l1)
# else:
# dict['k2'].append(l1)
# print(dict)
'''
8、在不改变列表数据结构的情况下找最大值li = [1,3,2,7,6,23,41,243,33,85,56]。(编程题)
'''

# li = [1,3,2,7,6,23,41,243,33,85,56]
# print(max(li))
# n=li[0]
# for l1 in li:
# if l1 > n:
# n=l1
# print(n)
'''
9、在不改变列表中数据排列结构的前提下,找出以下列表中最接近最大值和最小值的平均值 的数
li = [-100,1,3,2,7,6,120,121,140,23,411,99,243,33,85,56]。(编程题)
'''
# li = [-100,1,3,2,7,6,120,121,140,23,411,99,243,33,85,56]
# n=li[0]
# m=li[0]
# for l1 in li:
# if l1 > n:
# n=l1
# if l1 < m:
# m=l1
# i=(n+m)/2
# print(i)
# 10、利用for循环和range输出9 * 9乘法表 。(编程题)
# n=1
# m=1
# for i in range(1,10):
# for j in range(1,i+1):
# print("%s*%s=%s"%(j,i,j*i),end=" ")
# print('')
# 11、求100以内的素数和。(编程题)
# sum=0
# for i in range(2,100):
# for j in range(2,i):
# if i%j == 0:
# break
# else:
# sum=sum+i
# print(sum)
# 12、请说明python2 与python3中的默认编码是什么?
# python2中默认编码是ASCII
# python3中默认编码是UTF-8
# 1.三次登录
# {'用户名':'密码',...}
# 如果用户输入了用户名和密码,看用户名和密码在不在字典中

# 进阶需求 :注册
# 注册的时候就是要往字典中添加用户名和密码,要是用户名存在 提示已存在
# dic={'luofeng':'123','egon':'456'}
# count=0
# tag=True
# while count < 3:
# print('''
# 1.登陆
# 2.注册
# ''')
# num = input("请输入你选择的功能:")
# if num.isdigit() and int(num) == 1:
# name = input("请输入你的用户名:")
# pwd = input("请输入你的密码:")
# # if num.isdigit() and int(num) == 1:
# if name in dic and pwd == dic[name]:
# print('登陆成功,欢迎')
# tag=False
# break
# else:
# print('用户或密码错误')
# count += 1
# if count == 3:
# print('对不起,你的%s次机会用完了' % count)
# break
# elif num.isdigit() and int(num) == 2:
# name = input("请输入你的用户名:")
# pwd = input("请输入你的密码:")
# if name in dic:
# print("你输入的用户名已经存在,请重新输入。")
# break
# else:
# dic[name] = pwd
# print("你注册的用户名已经成功,用户名是%s"%name)
# break
# # tag=False
# else:
# print("您输入的数字有误,请重新输入")






# 2.三级菜单
menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车战': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
# tag=True
# while tag:
# for city in menu:
# print(city)
# city=input('请输入你选择的城市:').strip()
# # for city in menu:
# if city.upper() == 'B':
# break
# elif city.upper() == 'Q':
# tag=False
# elif city not in menu:
# continue
# while tag:
# for city1 in menu[city]:
# print(city1)
# city1=input('请输入你选择的城市:').strip()
# if city1.upper() == 'B':
# break
# elif city1.upper() == 'Q':
# tag=False
# elif city1 not in menu[city]:
# continue
# while tag:
# for city2 in menu[city][city1]:
# print(city2)
# city2=input('请输入你选择的城市:').strip()
# if city2.upper() == 'B':
# break
# elif city2.upper() == 'Q':
# tag=False
# elif city2 not in menu[city][city1]:
# continue
# while tag:
# for city3 in menu[city][city1][city2]:
# print(city3)
# city3=input('请输入你选择的城市:').strip()
# if city3.upper() == 'B':
# break
# elif city3.upper() == 'Q':
# tag=False
# elif city3 not in menu[city][city1][city2]:
# continue
#
# print('你退出了程序')

# 优化后
# layers=[menu,]

# while True:
# if len(layers) == 0: break
# current_layer=layers[-1]
# for city in current_layer:
# print(city)
# city=input('请输入你选择的城市: ').strip()
# if city.upper() == 'B':
# layers.pop(-1)
# continue
# if city.upper() == 'Q':
# break
# if city not in current_layer:
# continue
# layers.append(current_layer[city])
#print('你退出了程序')
原文地址:https://www.cnblogs.com/xiaobao2/p/11214774.html