Discuss / Python / 求大家帮忙找一下茬。。。

求大家帮忙找一下茬。。。

Topic source

代码这样的: print('地址邮编') while True: adict = dict(北京 = '111111',上海 = '222222',深圳 = '333333') print('请输入地址名:') address = input() if address in adict.keys(): print(address,':',adict.get(address)) else: print('没有这个地址,请输入邮编:') adZipid = input() adict.update({address:adZipid}) 运行后添加地址和邮编,但是查找时却没有这个添加的地址。。。 结果是这样的: 地址邮编 请输入地址名: 北京 北京 : 111111 请输入地址名: 天津 没有这个地址,请输入邮编: 666666 请输入地址名: 天津 没有这个地址,请输入邮编:

帮帮我这个新手哈哈,谢谢

泛色海岸

#3 Created at ... [Delete] [Delete and Lock User]

把字典的赋值语句放到循环外面,不然你每次循环的时候,都会重新赋值。。。

numdark

#4 Created at ... [Delete] [Delete and Lock User]

#代码一,需先在脚本所在文件夹建立字典文件 dict={'北京':"010",'天津':"022"} fw=open("地址邮编.txt",'w') fw.write(str(dict)) fw.close

#代码二:完成楼主要求,当输入地址时查询字典,如地址不在字典中,则对其进行添加;如需结束此次查询则输入end,程序关闭并保存新添加的key-value。 print("地址邮编") fr=open("地址邮编.txt",'r') dict=eval(fr.read()) fr.close while True: address=str(input('请输入地址:')) if address == "end": break if address in dict: print(address,";",dict.get(address)) else: adZipid=input('无此地址,请添加邮编:') dict[address]=adZipid fw=open("地址邮编.txt",'w') fw.write(str(dict)) fw.close

ok!谢谢各位,已找到问题所在哈哈

字典赋值写到循环外面。新手常犯的错误 哈哈


  • 1

Reply