购物程序(python)

这是一个使用Python设计的购物程序,包括用户注册、登录、查看购物车、购买商品等功能。数据存储在文本文件中,实现了基本的文件读取操作,允许用户在不退出程序的情况下继续使用。程序还包含了商品的添加、删除以及购物车总价的计算等操作。

题目:
设计一个购物程序,自定义程序功能和数据存储方式,并给出设计文档。
设计文档:
设计了加入商品,用户注册,登录,查看购物车,查看商品,查看购物车商品总价,删除购物车商品,购买商品,查看已购物商品等功能,数据储存在文本文件中(并未设计图形界面,主要是文件读取,基本可以实现重复使用,即无需退出程序就可以继续用)

  1. 创造用户和商品文档,并将其转换成字典
  2. 加入商品,选择0直接进入用户注册,选择1则加入商品,输入商品名,判断商品名是否合法,合法就将商品写入商品文件,并将新商品加入字典,加入商品完成后,可以选择是否继续加入商品
  3. 用户登录:输入用户名和密码,判断是否合法,利用字典的值是否存在判断,不合法就重新输入,登录之后根据用户名创造购物车文件和已购买商品文件,然后开始选择操作
  4. 新用户注册;输入需要进行注册的用户名和密码,限定用户名10位以内,密码16位以内,根据len()函数判断合法性,若合法就将新用户信息加入用户文件,并且进入用户登录功能
  5. 查看商品,遍历商品字典,输出结果
  6. 将商品加入购物车:从商品文件中选择一个商品加入,先判断合法性,如果不合法,就重新输入,合法就把这个商品写入该登录用户的购物车文件中
  7. 查看购物车:利用file.readlines()遍历文件,然后输出结果(为了避免多余的空行,将换行符去掉)
  8. 查看购物车商品价格:将购物车文件转换为字典,先去掉换行符,然后利用split()通过‘:’将每行分成两个部分存入字典中,通过循环,将第二个部分相加,即为购物车价格,删除字典
  9. 删除购物车商品:输入需要删除的商品名,进行合法性判断,若合法,将购物车文件转换为字典,通过字典删除该项商品,然后清除文件,重新将字典内容写入购物车文件,删除字典
  10. 购买商品:输入要购买的商品,进行合法性判断,如果合法,则重复删除购物车商品,然后通过字典将此商品写入已购买商品文件,删除字典
  11. 查看已购买商品:与查看购物车操作一致
import os
# 读入已有信息(将已有信息转化成字典)
file1 = open('commodity.txt')
file2 = open('user.txt')
d1 = {
   
    } #商品字典
d2 = {
   
    } #用户字典
key1 = [ ]
key2 = [ ]
for i in file1.readlines():
    i = i.strip("\n")
    value = i.split(':',1)
    d1[value[0]] = value[1]
    key1.append(value[0])
for i in file2.readlines():
    i = i.strip("\n")
    value = i.split(':',1)
    d2[value[0]] = value[1]
    key2.append(value[0])
print(d1)
file1.close()
file2.close()
def commdodity(k):
    k = int(input("是否继续加入商品(是选1,否选0):"))
    if(k == 1):
        coname = input("输入商品名:")
        price = input("请输入商品价格:")
        file1 = open('commodity.txt','a+')
        file1.write('\n')
        file1.write(coname+':'+price)
        file1.close()
        key1.append(coname)
        d1[coname] = price
        k = commdodity(k)
    if (k == 0):
        print("加入商品结束")
    return k
k = int(input("是否需要加入商品(是选1,否选0):"))
if(k == 0):
    print("加入商品结束")
if(k == 1):
    coname = input("输入商品名:")
    price = input("请输入商品价格:")
    file1 = open('commodity.txt'
编写一个简单的Python超市购物程序,可以模拟用户选择商品、添加到购物车、查看购物车以及计算总价的过程。这里是一个基本的示例: ```python class Product: def __init__(self, name, price): self.name = name self.price = price class ShoppingCart: def __init__(self): self.items = {} def add_item(self, product_name, quantity): if product_name in self.items: self.items[product_name] += quantity else: self.items[product_name] = quantity def remove_item(self, product_name, quantity=1): if product_name in self.items and self.items[product_name] >= quantity: self.items[product_name] -= quantity if self.items[product_name] == 0: del self.items[product_name] def total_cost(self): return sum(item['price'] * item['quantity'] for item in self.items.values()) # 示例商品 products = { "苹果": Product("苹果", 5), "香蕉": Product("香蕉", 3), "牛奶": Product("牛奶", 10) } def main(): cart = ShoppingCart() while True: print("\n超市购物助手") print("1. 添加商品") print("2. 查看购物车") print("3. 删除商品") print("4. 结算") print("5. 退出") choice = input("请输入您的选择(1-5): ") if choice == '1': product_name = input("请输入您想购买的商品名称: ") quantity = int(input("请输入购买数量: ")) cart.add_item(product_name, quantity) elif choice == '2': print("当前购物车:") for item, quantity in cart.items.items(): print(f"{item}: {quantity} x {products[item].price}") elif choice == '3': product_name = input("请输入您要删除的商品名称 (按回车键结束): ") if product_name: cart.remove_item(product_name) elif choice == '4': print(f"总费用: {cart.total_cost()} 元") elif choice == '5': break else: print("无效的选择,请重新输入.") if __name__ == "__main__": main() ``` 在这个程序中,我们首先定义了Product类表示商品,然后创建了一个ShoppingCart类作为购物车容器。主函数`main()`处理用户的交互,包括添加商品、查看购物车等操作,并计算总价。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值