zoukankan      html  css  js  c++  java
  • 设计商城系统,主要提供两个功能:商品管理、会员管理。

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-


    # 1.写出三元运算的基本格式及作用?
    '''
    a if a>b else b
    '''

    # 2.什么是匿名函数?
    '''
    lambda,一行代码写出简单函数,无需定义函数名称.
    '''

    # 3.尽量多的列举你了解的内置函数?【默写】
    '''
    1.输入输出:
    input() / print()
    2.数学相关:
    sum()求和 max()取最大值 min()取最小值 float()浮点 divmod()商和余数 pow()幂运算 abs()绝对值
    round(a,b)a保留b位小数(四舍五入)
    3.其他:
    len()长度 open()打开文件 type()查看数据类型 id()查看内存地址 range()范围
    4.强制转换:
    int()整型 str()字符串 bool()布尔值 list()列表 tuple()元组 set()集合 dict()字典
    5.进制转换:
    int()十进制 bin()二进制 oct()八进制 hex()十六进制
    '''

    # 4.filter/map/reduce函数的作用分别是什么?
    '''
    filter:筛选,(函数,可迭代对象),循环可迭代对象,符合函数要求的输出到新列表
    map:(函数,可迭代对象),循环可迭代对象,执行函数后返回原长度列表.
    reduce:累积,(函数,可迭代对象),传入的函数必须接收两个参数,对每个元素反复调用函数,并返回最终结果值。
    '''

    # 5.看代码写结果

    # def func(*args, **kwargs):
    # print(args, kwargs)

    # a. 执行 func(12,3,*[11,22]) ,输出什么?
    '''
    func(12,3,*[11,22]) # (12,3,11,22) {}
    '''
    # b. 执行 func(('alex','武沛齐',),name='eric')
    '''
    func(('alex','武沛齐',),name='eric') # (('alex','武沛齐'),) {'name':'eric'}
    '''

    # 6.看代码分析结果
    '''
    def func(arg):
    return arg.pop(1)


    result = func([11, 22, 33, 44])
    print(result) # 22
    '''

    # 7.看代码分析结果
    '''
    func_list = []

    for i in range(10):
    func_list.append(lambda: i) # 每次把函数传入列表

    v1 = func_list[0]() # 调用函数
    v2 = func_list[5]() # 调用函数
    print(v1, v2) # 9 9
    '''

    # 8.看代码分析结果
    '''
    func_list = []

    for i in range(10):
    func_list.append(lambda x: x + i)

    v1 = func_list[0](2) # 11
    v2 = func_list[5](1) # 10
    print(v1, v2)
    '''

    # 9.看代码分析结果
    '''
    func_list = []

    for i in range(10):
    func_list.append(lambda x: x + i) # 列表加入十个地址,函数不执行,i不变

    for i in range(0, len(func_list)): # 循环10次
    result = func_list[i](i)
    print(result) # 0 2 4 6 8 10 12 14 16 18
    '''

    # 10.看代码分析结果
    '''
    def f1():
    print('f1')


    def f2():
    print('f2')
    return f1


    func = f2() # 调用f2,输出f2,func=f1
    result = func() # result=f1(),输出f1
    print(result) # 输出None
    '''

    # 11.看代码分析结果【面试题】
    '''
    def f1():
    print('f1')
    return f3()


    def f2():
    print('f2')
    return f1


    def f3():
    print('f3')


    func = f2() # 调用f2,输出f2,func=f1
    result = func() # f1(),输出f1,return 调用f3(),输出f3,返回None
    print(result)
    '''

    # 12.看代码分析结果
    '''
    name = '景女神'


    def func():
    def inner():
    print(name)

    return inner()


    v = func() # 调用func(),return调用inner,输出景女神,返回None
    print(v) # 输出None
    '''

    # 13.看代码分析结果
    '''
    name = '景女神'


    def func():
    def inner():
    print(name)
    return '老男孩'

    return inner()


    v = func() # 调用func,return调用inner,输出景女神,返回老男孩给func的return.
    print(v) # 输出老男孩
    '''

    # 14.看代码分析结果
    '''
    name = '景女神'


    def func():
    def inner():
    print(name)
    return '老男孩'

    return inner


    v = func() # 调用func,返回inner
    result = v() # 调用inner,输出景女神,返回老男孩给result.
    print(result) # 输出老男孩
    '''

    # 15.看代码分析结果
    '''
    def func():
    name = '武沛齐'

    def inner():
    print(name)
    return '老男孩'

    return inner


    v1 = func() # 调用func,返回inner
    v2 = func() # 调用func,返回inner
    print(v1, v2) # 输出两个不同的inner内存地址
    '''

    # 16.看代码写结果
    '''
    def func(name):
    def inner():
    print(name)
    return '老男孩'

    return inner


    v1 = func('金老板') # 调用func,v1=inner
    v2 = func('alex') # 调用func,v2=inner
    print(v1, v2) # 输出两个不同的inner内存地址
    '''

    # 17.看代码写结果
    '''
    def func(name=None):
    if not name:
    name = '武沛齐'

    def inner():
    print(name)
    return '老男孩'

    return inner


    v1 = func() # 调用func,name=武沛齐,返回inner
    v2 = func('alex') # 调用func,
    print(v1, v2) # inner的内存地址 inner另一个内存地址
    '''

    # 18.看代码写结果【面试题】
    '''
    def func(name):
    v = lambda x: x + name
    return v


    v1 = func('武沛齐') # 调用func,v1 = lambda x: x + name
    v2 = func('alex') # 调用func,v1 = lambda x: x + name
    v3 = v1('银角') # 银角武沛齐
    v4 = v2('金角') # 金角alex
    print(v1, v2, v3, v4) # 内存地址 另一个内存地址 银角武沛齐 金角alex
    '''

    # 19.看代码写结果
    '''
    NUM = 100
    result = []
    for i in range(10): # 循环0-9
    func = lambda: NUM # 注意:函数不执行,内部代码不会执行。
    result.append(func) # result=[100,100...]

    print(i) # 9
    print(result) # result=[十个不同的lambda内存地址]
    v1 = result[0]() # 100
    v2 = result[9]() # 100
    print(v1, v2)
    '''

    # 20.看代码写结果【面试题】
    '''
    result = []
    for i in range(10): # 0-9
    func = lambda: i # 注意:函数不执行,内部代码不会执行。
    result.append(func) # result=[十个不同的lambda内存地址,i=0-9]
    print(i) # 9
    print(result) # result=[十个不同的lambda内存地址,i=0-9]
    v1 = result[0]() # 9
    v2 = result[9]() # 9
    print(v1, v2)
    '''

    # 21.看代码分析结果【面试题】
    '''
    def func(num):
    def inner():
    print(num)

    return inner


    result = []
    for i in range(10): # 循环十次
    f = func(i)
    result.append(f) # result=[十个不同的inner内存地址对应十个不同的num(0-9)]

    print(i) # 9
    print(result) # [十个不同的inner内存地址对应十个不同的num(0-9)]
    v1 = result[0]() # 0
    v2 = result[9]() # 9
    print(v1, v2) # None None
    '''


    # 22.程序设计题
    # 请设计实现一个商城系统,商城主要提供两个功能:商品管理、会员管理。
    # 商品管理:
    # 1.查看商品列表
    # 2.根据关键字搜索指定商品
    # 3.录入商品
    # 4.会员管理:【无需开发,如选择则提示此功能不可用,正在开发中,让用户重新选择】
    #
    # 需求细节:
    # 1.启动程序让用户选择进行商品管理 或 会员管理.
    # 2.用户选择 【1】 则进入商品管理页面,进入之后显示商品管理相关的菜单.
    # 3.用户选择【2】则提示此功能不可用,正在开发中,让用户重新选择。
    # 4.如果用户在【商品管理】中选择【1】,则按照分页去文件 goods.txt 中读取所有商品,并全部显示出来【分页功能可选】。
    # 5.如果用户在【商品管理】中选择【2】,则让提示让用户输入关键字,输入关键字后根据商品名称进行模糊匹配.
    # 6.如果用户在【商品管理】中选择【3】,则提示让用户输入商品名称、价格、数量 然后写入到 goods.txt 文件.


    def goods_list(): # 查看商品列表
    content = []
    f = open('goods.txt', mode='r', encoding='utf-8')
    for i in f:
    content.append(i.strip())
    f.seek(0)
    a = len(f.readlines())
    max_page, a = divmod(a, 5)
    if a > 0:
    max_page += 1
    while 1:
    pager = input('要查看第几页(输入N返回):')
    if pager.upper() == 'N':
    return class_two()
    if pager.isdigit():
    int_pager = int(pager)
    if int_pager < 1 or int_pager > max_page:
    print('页码不合法,必须是 1 ~ %s' % max_page)
    else:
    start = (int_pager - 1) * 5
    end = int_pager * 5
    data = content[start:end]
    for item in data:
    print(item)
    else:
    print('输入有误!请重新输入!')


    def key_word_find(): # 关键字查找
    c = input('''
    *****欢迎使用劳资的购物商城【商品管理】【根据关键字搜索】*****
    请输入关键字(输入N返回上一级):''')
    if c.upper() == 'N':
    return class_two()
    f = open('goods.txt', mode='r', encoding='utf-8')
    x = '输入有误!'
    for i in f:
    if c in i.split(' ')[0]:
    print(i)




    def input_goods(): # 录入商品
    name = input('请输入商品名称(输出N返回上一级):')
    if name.upper() == 'N':
    return class_two()
    price = input('请输入商品价格:')
    count = input('请输入商品数量:')
    f = open('goods.txt', mode='a', encoding='utf-8')
    f.write(' ' + name + ' ' + price + ' ' + count)
    f.close()
    print('录入成功!')


    def class_two():
    b = input('''
    *****欢迎使用劳资的购物商城【商品管理】*****
    1.查看商品列表
    2.根据关键字搜索指定商品
    3.录入商品
    请选择(输入N返回上一级):''')
    if a.upper() == 'N':
    return
    if b == '1': # 查看商品列表
    goods_list()
    elif b == '2': # 根据关键字查找
    key_word_find()
    elif b == '3': # 录入商品
    input_goods()
    else:
    print('输入有误!')


    while 1:
    a = input('''
    *****欢迎使用劳资的购物商城*****
    1.商品管理
    2.会员管理(开发中...)
    请选择(输入N返回上一级):''') # 首页
    if a == '1': # 进入商品管理界面
    class_two()
    if a == '2':
    print('此功能不可用!')
    continue
    if a.upper() == 'N':
    break
  • 相关阅读:
    调试相关blogs收集
    union和union all
    V$SQLAREA
    Oracle Access和filter的区别
    Oracle 复合索引设计原理——前缀性和可选性
    经济学原理---8应用:税收的代价--- 读书笔记
    经济学原理---7 消费者.生产者与市场效率--- 读书笔记
    经济学原理---6 供给.需求与政府政策--- 读书笔记
    经济学原理---5 弹性及其应用 --- 读书笔记
    CURL---常见问题
  • 原文地址:https://www.cnblogs.com/zjx1/p/10703020.html
Copyright © 2011-2022 走看看