oldboy s21day12.设计商城系统,主要提供两个功能:商品管理、会员管理。
#!/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('\n' + 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
oldboy s21day12.设计商城系统,主要提供两个功能:商品管理、会员管理。的更多相关文章
- Weshop基于Spring Cloud开发的小程序商城系统
WESHOP | 基于微服务的小程序商城系统 Weshop是基于Spring Cloud(Greenwich)开发的小程序商城系统,提供整套公共微服务服务模块,包含用户中心.商品中心.订单中心.营销中 ...
- 多用户商城系统 KgMall2.1公布
2014-5-28日,广州JUULUU公布多用户商城系统 KgMall2.1,kgMall是国内一款JAVA开源多用户版商城系统,新版KgMall更加模块化,juuluu团队重构了Kgcms的多个模块 ...
- Java生鲜电商平台-商城系统库存问题分析以及产品设计对逻辑/物理删除思考
Java生鲜电商平台-商城系统库存问题分析以及产品设计对逻辑/物理删除思考 说明:在生鲜电商的库存设计,是后台的重点,也是难点,关乎商品是否存在超卖.商品的库存增加方式倒不难,直接在后台添加即可,而扣 ...
- 请设计实现一个商城系统开发v2.0【代码优化】
#!/usr/bin/env python 优化的部分:1.改用字典取键,来调用函数[原来是用if-else判断] [补充]:也可以用列表,按索引取,可以在列表最前面加一个“”任意元素,凑成一个.就和 ...
- Jimmychoo商城系统总结
一.需求 1.游戏模块 ①在进入H5之前,首先有一个动态的探照灯的动效,然后由"淡出"效果到H5首页. ②在点击"开始游戏"之后会有一段动画演示游戏内容,然后滑 ...
- Apache代理Tomcat实现session共享构建网上商城系统
一.环境介绍 二.安装配置后端服务器 三.安装配置前端服务器 四.配置Tomcat服务器实现session共享 五.构建网上商城系统 一.环境介绍 系统版本:CentOS 6.4_x86_64 Mys ...
- 澳洲最大的华资快递公司ACE 签约动软微信商城系统!
ACE-平安立达快递是澳洲最大的华资快递公司ACE平安立达,总部设在Boxhill,同时在中国成立了进口食品专营连锁加盟店“澳莱优品”,目前已经有近20家加盟店,14年底国内计划开到60家店. 201 ...
- 动软商城系统可免费下载了,专业批发分销商城系统,ASP.NET商城系统
动软商城系统是一套集CMS资讯+品牌Shop商城+WAP商城+APP手机客户端+SNS用户互动社区于一体的全新电商营销解决方案.主要为企业树立企业品牌形象,实现独立网络推广,充分集成网站SEO.企业微 ...
- 途虎养车Tuhu商城系统开发
途虎养车Tuhu商城系统开发,咨询:何经理152-2217-7508(微信同号)途虎养车商城小程序开发,途虎养车商城小程序平台开发,途虎养车商城小程序系统开发. 为什么能做得这么好,里面的门道确实不少 ...
随机推荐
- LeetCode算法题-Number Complement(Java实现-五种解法)
这是悦乐书的第240次更新,第253篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第107题(顺位题号是476).给定正整数,输出其补码数.补充策略是翻转其二进制表示的位 ...
- 网络流问题 P2763 试题库问题
题目描述 «问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性.现要从题库中抽取m 道题组成试卷.并要求试卷包含指定类型的试题.试设计一个满足要求的组卷算法. ...
- Loj 2320.「清华集训 2017」生成树计数
Loj 2320.「清华集训 2017」生成树计数 题目描述 在一个 \(s\) 个点的图中,存在 \(s-n\) 条边,使图中形成了 \(n\) 个连通块,第 \(i\) 个连通块中有 \(a_i\ ...
- Autoware(1)——快速开始
该部分可参照github Autoware中的 Demo Quick_Start. 1. 建立目录“.autoware”来保存demo数据 mkdir .autoware 2. 下载Demo数据下载d ...
- K8S集群技术
1.快速部署K8S环境 k8s-m :10.0.0.11 k8s-n1 :10.0.0.12 k8s-n2 :10.0.0.13 2.所有节点安装docker环境及依赖 2.1 上传docke ...
- vue diff 算法学习
function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) { let oldStartIdx ...
- jeecg开发环境搭建
Maven安装 步骤见:https://www.cnblogs.com/dyh004/p/8523260.html 修改Maven仓库 1.修改maven仓库存放位置 修改maven仓库存放位置:找到 ...
- [官网]Using PuTTY
Previous | Contents | Next Chapter 3: Using PuTTY Section 3.1: During your session Section 3.1.1: Co ...
- NOIP2010提高组复赛C 关押罪犯
题目链接:https://ac.nowcoder.com/acm/contest/258/C 题目大意: 略 分析: 这题是并查集的一个变题,先按积怨值从大到小排序,然后一个一个看能否完全分开,遇到的 ...
- python 基本数据类型以及运算符操作
一.基本数据类型 为何要区分类型? 数据类型的值是变量值得类型,变量值之所以区分类型,是因为变量的值 用来记录事物的状态,而事物的状态有不同的种类,对应着,也必须用不 用类型去区分它们. 1.数字类型 ...