2021-03-12

‘’‘小明是一个直播带货的主播,他想找人做一个方便操作的系统。并且有一个单独的数据库,订单和商品相互独立。
(1)小明的仓库有五种商品:
①牙刷 5元 库存10个
②小熊背包 130元 库存5个
③2B铅笔 2元 库存15个
④笔记本电脑 8900元 库存2个
⑤dsb处理器 880元 库存3个
(2)在pycharm命令行输入购买可以购买商品,所购买的商品用商品号区分,并生成一个对应商品的订单号。
请输入操作: 购买
请输入购买的商品号:1
您的订单号为: xxx
输入查询,可以查询所有商品信息
(3)有一个购买电脑的客户A,他是小明的朋友,小明后来才知道他购买了电脑,并且给朋友便宜了3000元,微信转给了他。请修改对应订单数据,将账目顺清。
(4)小明后来听A说,B好像在他这也购买了商品(已知订单号),请确认B是否购买了。(通过算法得知)’’’
import pymysql

#连接数据库 并执行sql语句 得到结果
def sql_do(sql):
#建立连接
coon = pymysql.connect(
host = ‘localhost’,
port = 3306,
user = ‘root’,
password = ‘’,
db = ‘xiaoming’
)
#建立游标
cur = coon.cursor()
#执行sql语句
cur.execute(sql)
data = cur.fetchall()
#提交数据库连接
coon.commit()
#关闭游标
cur.close()
#关闭连接
coon.close()
return data

#生成不重复的订单号
def get_order_num(good_id):
import time
# 生成时间戳
time_stamp = int(time.time())
order_num = good_id+time_stamp
return order_num

#获取其他应该加入订单表中的信息 并生insert进订单表数据
def get_order_info(good_id,order_num):
# 获取订单表中的g_id
g_id = good_id
# 加入订单标中的 id 是几 (应该是订单表的长度加一)
orderssss = sql_do(‘select * from orders’)
id = len(orderssss) + 1
sql1 = ‘select * from goods where id=’ + str(good_id)
good_data = sql_do(sql1)
print(‘用户购买的商品信息:’, good_data)
#获取当前商品价格
price = good_data[0][-2]
# 生成订单表数据
sql2 = ‘insert into orders (id,price,g_id,order_num) values (’ + str(id) + ‘,’ + str(price) + ‘,’ + str(g_id) + ‘,’ + str(order_num) + ‘)’
print(sql2)
sql_do(sql2)

#如果是购买商品 商品库存减少
def goods_change(order_num):
# 首先根据订单号 查询用户购买的哪一件商品
sql1 = ‘select * from orders where order_num=’+str(order_num)
print(sql_do(sql1))
# 找到商品id
g_id=sql_do(sql1)[0][-2]
print(g_id)
#通过商品id去查询商品库存
sql2 = ‘select * from goods where id=’+str(g_id)
print(sql_do(sql2))
num = str(int(sql_do(sql2)[0][-1])-1)
print(num)
#修改库存
sql3 = ‘update goods set num=’+str(num) + ’ where id=’+str(g_id)
sql_do(sql3)
print(sql3)

def zhu():
do = input(‘请输入操作:’)
if do not in [‘购买’,‘查询’]:
print(‘错误’)
else:
if do == ‘查询’:
sql = ‘select * from goods’
print(sql_do(sql))
else:
#商品id
good_id = int(input(“请输入想要购买的商品号:”))
#订单号
order_num = get_order_num(good_id)
print(“购买成功,您的订单号为:”,order_num)
#添加订单数据
get_order_info(good_id,order_num)
#修改商品库存
goods_change(order_num)

#修改订单表 第三题
def update_order(order_num):
sql = ‘update orders set price = 6900 where order_num=’+str(order_num)
sql_do(sql)
print(“修改成功”)

#获得列表
def get_list():
# 初始化一个空列表
list = []
# 将所有订单号转为数字格式,加入列表中
sql = ‘select order_num from orders’
data = sql_do(sql)
# print(data)
for i in data:
# print(i[0])
list.append(int(i[0]))
# print(list)
return list

#给列表排序
def bubbleSort(list):
n = len(list)
# 遍历所有数组元素
for i in range(n):
for j in range(0, n - i - 1): #n-i-1 因为前面已经交换一次了 所以前面那个不用再交换了
if list[j] > list[j + 1]: #如果左面的比右面的大 就换位置
list[j], list[j + 1] = list[j + 1], list[j]
return list

#查找一个订单号是否在一个区间内 第四题
def search(list,item):
mid = len(list)//2
if list[mid] == item:
return ‘在’
elif item < list[mid]:
return search(list[0:mid],item)
elif item > list[mid]:
return search(list[mid+1:],item)
else:
return ‘不存在’

if name == ‘main’:
zhu()
# print(search(bubbleSort(get_list()),11111))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
embedcpp-2021-03是一个有关嵌入式C++编程的课程,于2021年3月举办。嵌入式C++编程是指在嵌入式系统中使用C++编程语言进行开发的一种方法。 在嵌入式系统中,资源通常是有限的,例如处理器速度、内存容量和存储空间等。因此,使用C++编程语言可以提供更高的灵活性和效率,帮助开发人员充分利用有限的资源。C++在嵌入式系统中的应用范围广泛,例如物联网设备、汽车电子和工业自动化等领域。 embedcpp-2021-03课程旨在向学员介绍嵌入式C++编程的基础知识和技巧。课程内容通常包括以下方面: 1. C++语法和特性:介绍C++的基本语法、面向对象编程和泛型编程等概念,以及C++11、C++14和C++17的一些新特性。 2. 嵌入式系统概述:了解嵌入式系统的基本特点、硬件和软件组成,以及与传统桌面开发的区别。 3. 低级编程:学习如何与硬件交互,包括使用寄存器、配置外设和处理中断等。还可以介绍使用汇编语言优化性能的技巧。 4. 内存管理:探讨嵌入式系统中的内存管理技术,包括堆栈和堆的使用、动态内存分配和对象生命周期管理等。 5. 实时操作系统(RTOS):介绍嵌入式系统中常用的实时操作系统,如FreeRTOS和µC/OS等,学习如何使用RTOS进行任务调度和资源管理。 除了理论知识,embedcpp-2021-03课程通常还包括实际的项目练习,以帮助学员将所学知识应用于实际场景。通过该课程,学员可以了解嵌入式C++编程的基础概念和实践技巧,为嵌入式系统开发提供了一定的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值