Python学习之路 002

  今天写着购物车的作业,最头疼的是文件操作了

尤其是文件的打开模式  w  r  a  最TM的头疼

r+模式可读可写,但是写的内容会根据文件指针去覆盖之前的内容,当文件需要修改时,强烈建议不要用这种模式,会有一个坑

下面说说文件的思路吧,还没有学习函数,因此代码起来很乱

  1.设置接口  

    #user接口

if ident_flag == ‘u‘:

      首先读入文件的数据

    #    商品信息
    with open("goods.txt",‘r‘) as goods_file:
        goods_info = {}
        for line in goods_file.readlines():
            item = line.strip(‘\n‘).split(‘ ‘)
            goods_info[item[0]] = item[1]
    #    余额信息
    with open("balance.txt",‘r‘) as balance_file:
        balance = int( balance_file.readline().strip(‘\n‘) )

      购买商品

        #    购买商品
        buy_name = input("Which goods would your like to buy?(input the name of goods)>>: ")
        if buy_name in goods_info:
            if balance > int( goods_info[buy_name] ):
                balance =  balance - int( goods_info[buy_name] )
                shopping_list[buy_name] = goods_info[buy_name]
            else:
                print("I‘m sorry to hear that you have not enough money to buy this")
        else:
            print("Sorry sir, there is not the goods that you need!!\n")

      结账

     #    结算
    with open("balance.txt",‘w‘) as goods_file:
        goods_file.write(str(balance))

    

    #manager接口

elif ident_flag == ‘m‘:

      首先读入文件

    #   商品信息
    with open("goods.txt",‘r‘) as goods_file:
        goods_info = {}

        for line in goods_file.readlines():
            item = line.strip(‘\n‘).split(‘ ‘)
            goods_info[item[0]] = item[1]

      增加商品

        #    增加商品
        if choice == ‘a‘:

            print("you are adding a goods".center(50,‘-‘))
            goods_name = input("The goods_name is: ")
            goods_price = input("The goods_price is: ")
            print("\n".rjust(51,‘-‘))

            info = goods_name + ‘ ‘ + goods_price + ‘\n‘
            with open("goods.txt", ‘a‘) as goods_file:
                goods_file.write(info)

      修改商品

        #    修改商品
        elif choice == ‘m‘:

                print("You are modify a goods".center(50, ‘-‘))
                goods_name = input("The goods_name is: ")
                if goods_name in goods_info:

                    goods_price = input("The goods_price is: ")
                    goods_info[goods_name] = goods_price

                    with open("goods.txt", ‘w+‘) as goods_file:
                        for item in goods_info:
                            info = item + ‘ ‘ + goods_info[item] + ‘\n‘
                            goods_file.write(info)
                else:
                    print("Sorry sir, there is not -{_goods_name}-!".format(_goods_name = goods_name))

      删除商品

        #    删除商品
        elif choice == ‘d‘:
                print("you are delete a goods".center(50, ‘-‘))
                goods_name = input("The goods_name is: ")
                if goods_name in goods_info:
                    goods_info.pop(goods_name)

                    with open("goods.txt",‘w‘):
                        for item in goods_info:
                            info = item + ‘ ‘ + goods_info[item] + ‘\n‘
                            goods_file.write(info)
时间: 2024-10-29 10:46:39

Python学习之路 002的相关文章

Python学习之路-Day1-Python基础

Python学习之路第一天 学习内容: 1.Python简介 2.安装 3.第一个Python程序 4.变量 5.字符编码 6.用户输入 7.表达式if..else语句 8.表达式for语句 9.break和continue 10.while循环 11.字符串格式化 1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOB

Python学习之路

Python学习之路 目录 Python学习之路[第一篇]:流程控制,用户交互,语法要求,变量,字符,注释,模块导入的使用 Python学习之路[第二篇]:文件,字符串,列表,元组,字典,集合的使用 更新中...

Python学习之路-装饰器&生成器&正则表达式

装饰器 通俗的讲,装饰器就是在不改变源代码基础上,给源代码增加新功能. 不改变函数的源代码.调用方式.返回值等,给函数增加新功能. 经典案例:登录装饰器, def login_decorator(func):     def inner():         if USER_TEMP["status"] == False:             print("\033[31;1m用户未登录,请先登录\033[0m")             login_atm()

Python学习之路【第一篇】-Python简介和基础入门

1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是一种开发语言,而且已经进阶到主流的二十多种开发语言的top 5(数据源自最新的TIOBE排行榜). 来头不小啊!二十多种主流的开发语言,我该从哪一个开始呢?人生苦短,let‘s python! 1.2 Python的由来和发展趋势 Python的前世源自鼻祖“龟叔”.1989年,吉多·范罗苏姆(Gu

Python学习之路——强力推荐的Python学习资料

资料一:程序媛想事儿(Alexia)总结 Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用.它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务. Python上手虽然容易,但与其它任何语言一样要学好Python并非一日之功.我的Pyth

Python学习之路 001

Python学习之路 从今天起开始写Python学习的经历了,哈哈. 了解Python是在我想入坑Linux运维这条路开始的. 我是计算机出身有着一定编程的功底,刚开始接触Python的时候觉得Python我学习过的c,c++特性完全不一样.觉得为什么这东西会这么智能 就拿Hello World来说 C: 1 #include<stdio.h> 2 3 void main() 4 { 5 printf("Hello World"); 6 } C++: 1 #include&

Python 学习之路(二)

Python 学习之路(二) 以下所用的是Python 3.6 一.条件语句 简单判断 1 if 判断条件: 2 执行语句-- 3 else: 4 执行语句-- 复杂判断 1 if 判断条件1: 2 执行语句1-- 3 elif 判断条件2: 4 执行语句2-- 5 elif 判断条件3: 6 执行语句3-- 7 else: 8 执行语句4-- 二.循环语句 2.1 while语句 和其他语言一样,不同的是多了else语句.在 python 中,while - else 在循环条件为 false

Python 学习之路(三)

Python 学习之路(三) 以下所用的是Python 3.6 一.集合部分 集合是一个无序的,不重复的数据集合,主要用来去重,以及关系测试:交集,差集,并集等 1.1 关系操作 1.1.1 列表去重 可以给列表去重,例如: 1 set_demo = [1,2,3,4,5,3,2,1] # 列表 2 set_demo = set(set_demo) # 转换成集合,来去重 3 print(set_demo) 1.1.2 取交集 intersection()方法 可以获得两个集合的交集部分,例如:

Python学习之路(第一周)

走上软件开发之路已经三个年头.我本人是android原生开发出生.期间由于工作的需要以及开发的趋势发展,也走上混合开发的道路,现在主要运用ionic框架进行移动端app的开发.但是未来的互联网发展趋势还是大数据+人工智能.所以现在学习Python就很有必要.这里就不介绍Python语言的优劣了,想具体了解的小伙伴可以自行度娘吧. 好了,直接步入正题. 本博客主要记录自己接下来几个月的Python学习之路,能力有限,期间有什么表达不对的欢迎大家留言区批评指正! Python版本:Python3.5