以上是解决这个问题而设计的一种算法,该算法中①处该填写, 该算法中②处填写;
A. ty!=‘01’ B. ty==‘01’ C. ty!=01 D. ty==01
sp={} #商品信息字典
#此处代码功能从数据服务器中获取商品信息字典 sp,sp 的结构为{'商品货号':'商品名称,商品单价'}
alljg=0.0 #保存结算总金额
sn=input('请输入商品条形码:')
#######################################################
#完成购物清单文本文件头处理 f=open('list.txt', 'r+') #打开文本文件
list.txt f.truncate() #清空文本文件内容
f.write('货号\t\t 商品名称\t 数量\t 单价\t 金额\n')
########################################################
while ▲
ty=sn[0:2] #获取商品类型
hn=sn[2:7] #获取商品货号
if hn in sp:
mc=sp[hn].split(', ')[0] #获取商品名称
dj=float(sp[hn].split(', ')[1]) #获取商品单价 if
ty!= '01':
sl=1.0
jg=dj
else:
sl=float(sn[12:14]+'. '+sn[14:17])
▲
print('{:<10s}{:<20s}{:^10.3f}*{:^10.2f}={:^10.2f}'.format(hn, mc, sl, dj, jg))
#按格式输出内容,主要目的保持输出的内容上下按类别对齐
f.write(hn + '\t\t' + mc + '\t' + str(sl) + '*\t' + str(dj) + '=\t' + str(jg) + '\n')
#往文本文件中写入购物记录信息
alljg+=jg
else:
print('商品货号有误,请核对后重新输入')
▲
print('小计:{:.2f}'.format(alljg))
f.write('---------------------------------------\n') #文本文件输出分割线
f.write('小计:'+str(alljg)) #往文本文件中写入总计信息
f.close#关闭 list.txt 文件
横线处代码应填、、