zoukankan      html  css  js  c++  java
  • 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('你退出了程序')
  • 相关阅读:
    解决 .net Core 3.1中使用GB2312编码异常
    sql server datetime类型字段使用isnull返回1900-01-01 00:00:00.000的问题
    c# – 从.NET中的字符串获取url参数
    fastjson对象,JSON,字符串,map之间的互转
    Java工具:Java递归去除Json字符串空值(key和value)
    vue运行报错 ‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    java调用CTP API坑【我】
    SpringBoot在logback.xml中读取application.properties中配置的日志路径
    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com【我】
    springboot mybatis-plus分页配置不生效【我】
  • 原文地址:https://www.cnblogs.com/xiaobao2/p/11214774.html
Copyright © 2011-2022 走看看