记录物品
程序员文章站
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