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(微信同号)途虎养车商城小程序开发,途虎养车商城小程序平台开发,途虎养车商城小程序系统开发. 为什么能做得这么好,里面的门道确实不少 ...
随机推荐
- springboot项目屏蔽mq或者mongodb的监控日志输出
最近写项目,用的是springboot,其中用到了rabbitmq和mongodb,配置完成 项目启动后,会输出如下日志: mongodb和mq的检测,会一直打印日志,这样会影响开发人员的测试. 如何 ...
- CSS---文档流布局 | 脱标-postion-zindex | 脱标-浮动
一.css文档流布局概念 1.1,什么是标准文档流 1.2,标准文档流下有哪些微观现象 二.CSS---position属性 2.1,position:relative 2.2,position:fi ...
- Axios
axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端.简单的理解就是ajax的封装 它本身具有以下特征: a.从浏览器中创建 XMLHttpRequest b ...
- 【Windows】+ win10 通过KMS激活
win10激活到期 通过KMS再次激活(亲测有效):http://www.xitongcheng.com/jiaocheng/win10_article_44435.html
- PHP性能优化:in_array和isset 在大数组查询中耗时相差巨大,以及巧妙使用array_flip
今天在PHP业务开发中,发现了一个问题. 两个较大数组(20万+元素),遍历其中一个$a,另一个数组$b用于查找元素. 比如 foreach($a as $val){ if(in_array($xx, ...
- IntelliJ IDEA编译项目报错 "xxx包不存在" 或 "找不到符号"
简介 在维护一个新的项目时出现在的这个情况,项目构建时一直报错"xxx包找不到",但是引用的包和引用的类都是存在的,一开始以为是项目问题,还问了做过的同事,第一次搞好了,但是换了分 ...
- 基于 HTML5 WebGL 的 3D 棉花加工监控系统
前言 现在的棉花加工行业还停留在传统的反应式维护模式当中,当棉花加下厂的设备突然出现故障时,控制程序需要更换.这种情况下,首先需要客户向设备生产厂家请求派出技术人员进行维护,然后生产厂家才能根据情况再 ...
- 5行代码实现微信小程序图片上传与腾讯免费5G存储空间的使用
本文介绍了如何在微信小程序开发中使用腾讯官方提供的云开发功能快速实现图片的上传与存储,以及介绍云开发的 5G 存储空间的基本使用方法,这将大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频 ...
- Shell命令-文件及内容处理之wc,tr
文件及内容处理 - wc.tr 1. wc:统计文件的行数.单词数或字节数 wc命令的功能说明 wc 命令用于计算字数.利用 wc 指令我们可以计算文件的字节数,字数,或是列数,若不指定文件名称,或是 ...
- DAO 四个包的建立
一.DAO 四个包的建立,降低代码之间的耦合性? 之前写代码,都是在一个包下.代码耦合性较高,不利于后期的维护. dao(代码分层?) 有利于后期的维护代码,修改方便. com.aaa.dao 存放d ...