Python:简单收银系统

问题描述:
同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,至少实现系统的以下功能:
1.正常餐品结算和找零。
2.基本套餐结算和找零。
3.使用优惠劵购买餐品结算和找零。
4.可在一定时间段参与店内活动(自行设计或参考官网信息)。
5.模拟打印小票的功能(写到文件中)。

思路:1.利用列表和元组知识获取菜单中的值
2.经过一些条件判断得到顾客所需物品、价格以及优惠
3.将顾客所选物品和总消费保存在文件中
# _author:“YYX”
# date: 2018/10/28

import datetime
# 正常菜单
menu1 = [
    ('热辣香骨鸡排', 11),
    ('十块香辣鸡翅', 45),
    ('十块新奥尔良鸡翅', 49),
    ('藤椒肯大大鸡排', 12),
    ('可乐', 8),
    ('雪碧', 8),
]
# 套餐菜单
menu2 = [
    ('奥尔良堡香骨鸡套餐', 35),
    ('嫩牛五方辣翅餐盒', 38),
    ('老北京卷香骨鸡翅餐盒', 36),
    ('奥尔良卷荔枝汽水餐盒', 34),
]
menu = []
shopping = []
global total_price
total_price = 0
def test():
    global total_price
    for i, v in enumerate(menu, 1):
        print(i, '---', v)

    while True:
        y = input("请选择餐品【b--退出】:")
        if y.isdigit():
            y = int(y)
            if y >= 1 and y <= len(menu):
                total_price += menu[y - 1][1]
                shopping.append(menu[y-1][0])
                break
            else:
                print("请选择显示范围内的数字!")
                continue
        elif y == 'b':
            break
        else:
            print("请选择显示范围内的数字!")
            continue
print("-------欢迎来到肯德基-------")
f = open('1.txt', 'w', encoding='utf-8')
while True:
    x = input("请选择菜单【1--单点 2--套餐】【b--退出】:")
    if x.isdigit():
        x = int(x)
        if x == 1:
            menu = menu1
            test()
        elif x == 2:
            menu = menu2
            test()
        else:
            print("请输入1或2!")
            continue
    elif x == 'b':
        if total_price >= 100:
            total_price -= 20
            f.write("您购买了:\n")
            for i in shopping:
                f.write(i+'\n')
            f.write("恭喜您获得本店满100元减20元优惠券\n")
            f.write("您目前共消费【%s元】\n" % total_price)
            day = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
            f.write(day+'\n')
            f.write("欢迎下次光临!")
            f.close()
        else:
            f.write("您购买了:\n")

            for i in shopping:
                f.write(i+'\n')
            f.write("您目前共消费【%s元】\n" % total_price)
            day = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
            f.write(day+'\n')
            f.write("欢迎下次光临!")
            f.close()
        break
    else:
        print("请输入1或2!")
        continue

总结:写的比较乱,赶时间…

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值