快捷导航

python3中字符编码的问题?

Traceback (most recent call last): File "restzhong.py", line 183, in   caidan() File "restzhong.py", line 43, in caidan  selected() File "restzhong.py", line 129, in selected  s1=f.read() File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/encodings/ascii.py", line 26, in decode  return codecs.ascii_decode(input, self.errors)[0]UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)这错误啥意思啊?mac下sublimetext报出来的money=0money2=0classLunch:def__init__(self):self.cus=Customer()self.emp=Employee()deforder(self,foodName):self.cus.placeOrder(foodName,self.emp)defresult(self):#asktheCustomerwhatkindoffoodithasself.cus.printFood()classCustomer:def__init__(self):#initializemyfoodtononeself.food=NonedefplaceOrder(self,foodName,employee):#placeorderwithanEmployeeself.food=employee.takeOrder(foodName)defprintFood(self):#printthenameofmyfoodprint(self.food.name)classEmployee:deftakeOrder(self,foodName):#returnaFood,wihrequestednamereturnFood(foodName)classFood:def__init__(self,name):#storefoodnameself.name=nameif__name__=='__main__':defcaidan():print("编号菜名价格")print("1肉末茄子17")print("2麻婆豆腐9")print("3青椒土豆丝8")print("4肉夹馍+凉皮15")print("5大盘鸡30")print("6蘑菇炒油菜12")selected()defistrue(num):try:int(num)returnTrueexceptValueError:returnFalsedefdian(s,context):globalmoneyglobalmoney2f2=open('aaaaa.txt','w')f2.write(context)f3=open('money.txt','r')ifs=='1':f2.write("肉末茄子*(1)17元"+"\n")money1=f3.read()x=Lunch()x.order('肉末茄子')x.result()ifistrue(money1):money2=17+int(money1)else:money2=17elifs=='2':f2.write("麻婆豆腐*(1)9元"+"\n")money1=f3.read()y=Lunch()y.order('麻婆豆腐')y.result()ifistrue(money1):money2=9+int(money1)else:money2=9elifs=='3':f2.write("青椒土豆丝*(1)8元"+"\n")money1=f3.read()z=Lunch()z.order('青椒土豆丝')z.result()ifistrue(money1):money2=8+int(money1)else:money2=8elifs=='4':f2.write("肉夹馍+凉皮*(1)15元"+"\n")money1=f3.read()d=Lunch()d.order('肉夹馍+凉皮')d.result()ifistrue(money1):money2=23+int(money1)else:money2=23elifs=='5':f2.write("大盘鸡*(1)30元"+"\n")money1=f3.read()e=Lunch()e.order('大盘鸡')e.result()ifistrue(money1):money2=8+int(money1)else:money2=8elifs=='6':f2.write("蘑菇炒油菜*(1)12元"+"\n")money1=f3.read()f=Lunch()f.order('蘑菇炒油菜')f.result()ifistrue(money1):money2=12+int(money1)else:money2=12f3=open('money.txt','w')f2=open('aaaaa.txt','w')f2.write(context)f3.write(str(money2))f2.close()f3.close()defselected():f=open("aaaaa.txt","r")s1=f.read().decode()f.close()print("")print("已点菜品:"+"\n"+s1)f3=open('money.txt','r')moneynum=f3.read()f3.close()print("小计:"+moneynum)print("")selete=input("请选择您喜爱的菜品")dian(selete,s1)one=input("确认订单请按y,退出请按n,按任意键继续点单")ifone=='y':f=open("aaaaa.txt","r")s1=f.read()f.close()print("")print("所有菜品:"+"\n"+s1)f3=open('money.txt','r')moneynum=f3.read()f3.close()print("小计:"+moneynum)ifistrue(moneynum):print("此次订单需支付:"+str(moneynum))f3=open('money.txt','w')f3.write("")f2=open('aaaaa.txt','w')f2.write("")f2.close()f3.close()print("订单完成,祝您用餐愉快")else:print("您尚未选择商品")elifone=='n':print("退出成功!")f3=open('money.txt','w')f3.write("")f2=open('aaaaa.txt','w')f2.write("")f2.close()f3.close()else:selected()print("

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

可能是money.txt文件编码问题,encode,decode试试
回复

使用道具 举报

BUZHIDAO
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP