python 写一个简易购物车程序

文章目录


代码

# 购物车
# 商品名称作为key,商品数量作为value
shoppingcar = {}
 
 
# 添加商品
def addgoods(product, num):
    if num.isdigit():  # isdigit()如果字符串只包含数字则返回 True 否则返回 False。
        num = int(num)
        # 判断key是否存在
        if product not in shoppingcar:
            # 添加键值对
            shoppingcar[product] = num
        else:
            # 修改指定键的值
            shoppingcar[product] += num
        print("商品添加成功")
    else:
        print("数量输入有误")
 
# 删除商品
def delgoods(name, num):
    product = 0
    for key in shoppingcar:
        if key[0] == name:
            product = key
    if num.isdigit():
        num = int(num)
        if num >= shoppingcar[product]:
            for product in shoppingcar:
                if product[0] == name:
                    # 删除该商品的全部
                    shoppingcar.pop(product)
        else:
            # 删除该商品指定的数量【修改value值】
            shoppingcar[product] -= num
 
        print("商品删除成功")
    else:
        print("数量输入有误")
 
 
if __name__ == '__main__':
    print("**********欢迎进入自选超市**********")
    # 引导用户输入金额
    saving = input("请输入你的金额:")
 
    if saving.isdigit():
        saving = int(saving)
        while True:
            print("可以进行的操作如下:\n "
                  "0.添加商品  1.删除商品  2.结算购物车  3.退出超市")
            # 引导用户选择操作
            choice = input("请输入你需要进行的操作:")
 
            # 判断用户选择的序号
            if choice in ["0", "1", "2", "3"]:
 
                if choice == '0':
                    # 添加
                    # 存储商品的列表
                    product_list = [
                        ('book', 88),
                        ('iphone', 8888),
                        ('food', 100),
                        ('kindle', 500),
                        ('computer', 7000)
                    ]
                    # 展示商品内容
                    print("本商店的商品如下:")
                    for i, goods in enumerate(product_list):
                        print("%d:%s" % (i, goods))
 
                    # 引导用户选择商品
                    index = input("请输入你需要购买的商品编号:")
 
                    if index.isdigit():
                        index = int(index)
                        if 0 <= index <= len(product_list) - 1:
                            # 获取商品
                            product = product_list[index]
 
                            # 引导用户输入商品数量
                            num = input("请输入需要购买的%s的数量:" % (product[0]))
 
                            if int(num) * product[1] > saving:
                                print("金额不足,请充值")
                                saving += int(input("请输入需要充值的金额:"))
                                print("充值成功,余额为:%d" % saving)
                            else:
                                # 减去商品价格
                                saving -= int(num) * product[1]
                                # 将商品添加到购物车
                                addgoods(product, num)
                    else:
                        print("商品的编号输入有误")
 
                elif choice == '1':
                    # 删除
                    name = input("请输入需要删除的商品名称:")
                    num = input("请输入需要删除的商品的数量:")
                    for product in shoppingcar:
                        if product[0] == name:
                            # 添加金额
                            saving += int(num) * product[1]
                    delgoods(name, num)
 
                elif choice == '2':
                    # 结算购物车
                    print("----------你已经购买了如下商品----------")
                    for key,value in shoppingcar.items():
                        print("%s:%s"%(key,value))
 
                    # 清空购物车
                    shoppingcar.clear()
                    print("你还剩余%d元" % saving)
 
                else:
                    # 退出
                    print("欢迎再次光临")
                    break
            else:
                print("暂未开通此功能")
    else:
        print("金额输入有误,请重新输入")

效果图:

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用Python的webbrowser模块来编一个简单的浏览器。你可以使用webbrowser.open()函数来打开一个url,并且可以添加额外的参数来让浏览器以特定的模式打开,比如以全屏模式或者最小化模式打开。 ### 回答2: 要用Python一个简易的浏览器,你可以使用PyQt或Tkinter这样的GUI库来构建用户界面,并使用Python的网络库来处理网络请求。以下是一个简单的示例: 1. 首先,你需要安装PyQt或Tkinter。如果你选择使用PyQt,可以通过运行以下命令进行安装: ``` pip install PyQt5 ``` 如果你选择使用Tkinter,则无需安装额外的库。 2. 在Python脚本开头导入所需的库: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QLineEdit, QTextBrowser from PyQt5.QtCore import QUrl from PyQt5.QtWebEngineWidgets import QWebEngineView ``` 或者如果你选择使用Tkinter: ```python import tkinter as tk import tkinter.ttk as ttk import tkinter.scrolledtext as st import tkinter.messagebox as msg import webbrowser ``` 3. 创建一个主窗口类,继承自QMainWindow(如果你使用PyQt)或Tkinter的Tk类(如果你使用Tkinter)。 4. 在主窗口类中添加一个输入框和一个浏览器窗口(PyQt中使用QWebEngineView类,Tkinter中使用ScrolledText类)。 5. 创建一个槽函数(或命令),用于处理用户在输入框中输入的网址,并在浏览器窗口中显示相应的网页。使用PyQt时,可以将槽函数与QAction类的triggered信号连接起来。使用Tkinter时,可以将槽函数与一个按钮的command属性关联。 6. 在槽函数中,使用Python的网络库(例如requests模块)来获取用户输入网址的内容。然后,将网页内容加载到浏览器窗口中。使用PyQt时,可以使用QWebEngineView的load方法,传入QUrl对象(使用用户输入的网址)。使用Tkinter时,可以使用webbrowser模块的open方法,传入用户输入的网址。 7. 创建应用程序并显示主窗口。 这只是一个简单的示例,它可以让你开始构建一个基本的浏览器。要实现更高级的功能,例如书签管理、历史记录等,你可能需要更多的代码和逻辑。不过,这应该为你提供了一个良好的起点。 ### 回答3: 实用Python一个简易的浏览器,可以通过以下几个步骤实现: 1. 导入所需模块:使用Python的内置模块`tkinter`创建图形用户界面(GUI),以及`webbrowser`模块打开网页。 2. 创建窗口和元素:使用`tkinter`创建一个窗口,并在窗口中添加一个文本框和一个按钮,用来输入网址和打开网页。 3. 编打开网页的函数:创建一个函数,用于获取文本框中输入的网址,并通过`webbrowser`模块打开该网页。 4. 绑定按钮和函数:将按钮和打开网页函数进行绑定,点击按钮时触发打开网页的操作。 5. 运行程序:通过调用`tkinter`的`mainloop()`函数,运行程序并显示窗口。 下面是一个简单的示例代码: ```python import tkinter as tk import webbrowser def open_webpage(): url = entry.get() webbrowser.open(url) # 创建窗口 window = tk.Tk() # 创建文本框 entry = tk.Entry(window) entry.pack() # 创建按钮 button = tk.Button(window, text="打开网页", command=open_webpage) button.pack() # 运行程序 window.mainloop() ``` 运行代码后,会弹出一个窗口,可以在文本框中输入网址,并通过点击按钮来打开相应的网页。这是一个非常简易的浏览器,功能有限,但是基本实现了通过Python打开网页的功能。如果需要实现更多复杂的浏览器功能,可以考虑使用第三方库如`wxPython`或`Qt`等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长街395

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值