我在尝试开发一个复印机抄表小程序时遇到了如下困难:
想增加一个功能:为每一个甲方用户建立独立的csv文档记录数据。举例:当输入‘张三’的时候,程序生成一个张三的csv文档,记录数据。并且可以通过执行menu()函数实现:1. 查询‘张三’的历史数据 2. 添加新数据 3. 跳出循环-询问是否建立新的用户档案
import csv
with open('wenbo.csv', 'a', newline='',encoding = 'GBK') as csvfile:
writer = csv.writer(csvfile, dialect='excel')
header=['甲方全称','机器管理编号', '开始张数黑', '开始张数彩','每月租赁费', '包含张数黑','包含张数彩', '等级一收费黑','等级一收费彩', '等级一区间黑','等级一区间彩', '等级二收费黑','等级二收费彩','等级二区间黑','等级二区间彩']
writer.writerow(header)
class data():
def newdatalog(self):
a = input('请输入甲方全称')
b = input('请输入机器管理编号')
c = input('请输入开始张数黑:')
c = float(c)
c1 = input('请输入开始张数彩:')
c1 = float(c1)
d = input('请输入机器租赁费用')
e = input('请输入包含张数黑:')
e = float(e)
e1 = input('请输入包含张数彩:')
e1 = float(e1)
f = input('请输入等级一收费标准黑')
f = float(f)
f1= input('请输入等级一收费标准彩')
f1 = float(f1)
g = input('请输入区间一最大张数黑')
g = float(g)
g1 = input('请输入区间一最大张数彩')
g1 = float(g1)
h = input('请输入等级二收费标准黑')
h = float(h)
h1= input('请输入等级二收费标准彩')
h1 = float(h1)
i = input('请输入等级二最大张数黑')
i =float(i)
i1= input('请输入等级二最大张数彩')
i1 = float(i1)
if i-c-g > 0:
month1B = (i-e-g-c)*h + g*f
month1C = (i1-e1-g1-c1)*h1 + g1*f1
elif i-c-g <= 0:
month1B = (i-c-e)*f
month1C = (i1-c1-e1)*f
print(month1B)
print(month1C)
with open('wenbo.csv', 'a', newline='',encoding = 'GBK')as csvfile:
writer = csv.writer(csvfile, dialect='excel')
writer.writerow([a,b,c,c1,d,e,e1,f,f1,g,g1,h,h1,i,i1,month1B,month1C])
def checkdata(self):
with open('wenbo.csv','r',newline='',encoding = 'GBK') as csvfile:
file_reader = csv.reader(csvfile)
column1 = []
column2 = []
for row in file_reader:
column1.append(row[2])
column2.append(row[3])
print('开始张数黑:',column1)
print('开始张数彩:',column2)
def menu(self):
print('欢迎使用抄表小程序,希望我能为您的工作带来便利!')
while True:
print('1.查询抄表数据\n2.录入新数据\n3.退出系统\n')
choice = int(input('请输入数字选择对应的功能:'))
if choice == 2:
self.newdatalog()
elif choice ==1:
self.checkdata()
elif choice == 3:
print('感谢使用!愿你工作顺利,保持愉快好心情!')
break
data1 = data()
data1.menu()