四个python面试自己的解答

这是一篇关于Python面试的实战题目,包括创建商品对象、处理商品价格和优惠策略,以及如何设计MongoDB数据库表。面试者需在30分钟内完成两道题目,涉及字符串转对象、商品价格查询、优惠条件判断和数据库表设计。
摘要由CSDN通过智能技术生成

共两题,要求为纸上写代码,总时间 30 min,请合理分配时间
(若在线答题,要求在注释中阐述设计思路,这样做的优缺点)

1,实现函数,输入字符串,输出其对应的对象:

Input:
string1 = '["ITEM0001 x 1", "ITEM0013 x 2", "ITEM0022 x 1"]'

Output:
obj1 = {
    "ITEM0001": 1,
    "ITEM0013": 2,
    "ITEM0022": 1,
}

2,在上题的基础上,增加额外信息
ITEM 指的是商品:
ITEM0001 的价格 为 10;
ITEM0013 的价格 为 20;
ITEM0022 的价格 为 30。

Input:
string1 = '["ITEM0001 x 1", "ITEM0013 x 2", "ITEM0022 x 1"]'

Output:
80


Input:
string1 = '["ITEM0006 x 1"]'

Output:
"ITEM 不合法!"

3,「附加题」在上两题的基础上,增加额外信息
优惠 1:
同时购买 ITEM0001 和 ITEM0022,则该商品半价

优惠 2:
满 100 减 30

优惠只能选一种。自动计算多种优惠的结果,并输出最优结果。

Input:
string1 = '["ITEM0001 x 1", "ITEM0013 x 2", "ITEM0022 x 1"]'

Output:
60
"优惠 1"

Input:
string1 = '["ITEM0001 x 1", "ITEM0013 x 3", "ITEM0022 x 1"]'

Output:
70
"优惠 2"

4,mongodb 数据库表设计:
将第 2 题的商品表放到数据库中,
将第 3 题的优惠结果放到数据库中。

# -*- coding: utf-8 -*-
# @Author  : Fengqi(jmps515@163.com)
# @Time    : 2021/6/8 下午1:54
# @File    : test.py
# @Software: PyCharm
# @Python  : 3.6

import pymongo

# 封装数据库函数
class Mongodb(object):
    def __init__(self):
        self.mongo_url = 'localhost'
        self.mongo_db = 'goods'
        self.client = pymongo.MongoClient(self.mongo_url)
        self.db = self.client[self.mongo_db]

    # 插入字典数据
    def process_item(self, item):
        tablename = 'goods'
        self.db[tablename].insert(dict(item)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值