欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

记录物品

程序员文章站 2022-03-27 10:09:15
一、前言今天牙膏用完了,去买牙膏时突然想到我2020年用了多少支牙膏呢。于是就做了记录物品这个程序,帮我记录2021年各个物品都使用了多少。这个程序可以帮你记录一段时间内使用了多少文具,买了多少衣服。或者听了几首陈奕迅的歌,听了几首李克勤的歌,只要是可以累计数量的,他都可以帮你完成代码在下面,感兴趣的可以直接复制下来,复制到python直接就可以用。二、代码复制之后运行时先初始化,保证程序可以记录数据。建立的.b.d的文档一定不能删除,它们就是用来记录数据的def 初始化(): pr...

一、前言

今天牙膏用完了,去买牙膏时突然想到我2020年用了多少支牙膏呢。
于是就做了记录物品这个程序,帮我记录2021年各个物品都使用了多少。
这个程序可以帮你记录一段时间内使用了多少文具,买了多少衣服。或者像这种听了几首陈奕迅的歌,听了几首李克勤的歌,只要是可以累计数量的,他都可以帮你完成
代码在下面,感兴趣的可以直接复制下来,复制到python直接就可以用。

二、代码

复制之后运行时先初始化,保证程序可以记录数据。
建立的.b.d的文档一定不能删除,它们就是用来记录数据的

def 初始化():
    print('您确定要初始化吗?')
    print('初始化会导致之前记录的数据丢失')
    from time import sleep as slp
    while True:
        slp(0.2)
        print('请输入是或否')
        a = input()
        if a == '是':
            def 确认初始化():
                print('开始初始化', end='')
                from shelve import open as oop
                fa = oop(r'记录data')
                fa['物品字典'] = {}
                fa['物品列表'] = []
                fa['物品数量'] = 0
                fa.close()
                for i in range(3):
                    slp(0.2)
                    print('.', end='')
                print('\n初始化成功\n')
                slp(0.2)
                print('是否现在填写物品使用情况')
                print('输入是或否')
                a = input()
                if a == '是':
                    批量记录()
            slp(0.2)
            确认初始化()
            break
        elif a == '否':
            break


# 初始化程序


def 执行():
    while True:
        print('''0.初始化
1.记录
2.批量记录
3.查看使用情况
您想执行什么?''')
        a = input()
        if a == '0':
            初始化()
        elif a == '1':
            记录()
            break
        elif a == '2':
            批量记录()
            break
        elif a == '3':
            查看使用情况()
        elif a == 'q' or a == 'Q':
            break
        else:
            print('没有这个选择')
            print('退出请按Q')


def 记录():
    print('物品:')
    a = input()
    from shelve import open as oop
    fa = oop('记录data')
    if a not in fa['物品列表']:
        b = fa['物品列表']
        b.append(a)
        fa['物品列表'] = b
        b = fa['物品字典']
        b[a] = 1
        fa['物品字典'] = b
        b = fa['物品数量']
        b += 1
        fa['物品数量'] = b
    fa.close()
    print('记录完毕,{}使用量加1'.format(a))


def 批量记录():
    from time import sleep as slp
    print('开始批量记录')
    slp(0.2)
    while True:
        print('物品:')
        a = input()
        if a != 'q' or a == 'Q':
            print('数量')
            c = int(input())
            from shelve import open as oop
            fa = oop('记录data')
            if a not in fa['物品列表']:
                b = fa['物品列表']
                b.append(a)
                fa['物品列表'] = b
                b = fa['物品字典']
                b[a] = c
                fa['物品字典'] = b
                b = fa['物品数量']
                b += 1
                fa['物品数量'] = b
            fa.close()
            print('记录成功,{}使用量加{}'.format(a, c))
            print('按Q退出')
        else:
            break


def 查看使用情况():
    print('''按A查看全部
按L查看物品列表
按Q退出''')
    from shelve import open as oop
    fa = oop('记录data')
    while True:
        print('请输入物品名称:')
        a = input()
        if a == 'a' or a == 'A':
            b = fa['物品字典']
            for i, n in zip(b.keys(), b.values()):
                print('{}:\t\t{}'.format(i, n))
        elif a == 'l' or a == 'L':
            b = fa['物品列表']
            for i, n in zip(b, range(len(b))):
                print('{:10}'.format(i), end='\t')
                if (n + 1) % 5 == 0:
                    print('\n')
            print('\n')
        elif a == 'q' or a == 'Q':
            break
        elif a in fa['物品列表']:
            b = fa['物品字典']
            print('{}\t\t{}'.format(a, b.get(a)))
        else:
            print('您的物品清单中没有{}'.format(a))
    fa.close()


执行()

三、运行效果

0.初始化
1.记录
2.批量记录
3.查看使用情况
您想执行什么?
0
您确定要初始化吗?
初始化会导致之前记录的数据丢失
请输入是或否
是
开始初始化...
初始化成功

是否现在填写物品使用情况
输入是或否
是
开始批量记录
物品:
牙膏
数量
1
记录成功,牙膏使用量加1
按Q退出
物品:
铅笔
数量
25
记录成功,铅笔使用量加25
按Q退出
物品:
中性笔
数量
5
记录成功,中性笔使用量加5
按Q退出
物品:
q
0.初始化
1.记录
2.批量记录
3.查看使用情况
您想执行什么?
3
按A查看全部
按L查看物品列表
按Q退出
请输入物品名称:
铅笔
铅笔		25
请输入物品名称:
a
牙膏:		1
铅笔:		25
中性笔:		5
请输入物品名称:
q
0.初始化
1.记录
2.批量记录
3.查看使用情况
您想执行什么?
q

本文地址:https://blog.csdn.net/m0_46281622/article/details/111992166

相关标签: python 生活相关