zoukankan      html  css  js  c++  java
  • python简单购物车功能



    # 需求:
    # 用户名和密码存放于文件中,格式为:egon|egon123
    # 启动程序后,先登录,登录成功则让用户输入工资, 然后打印商品列表,失败则重新登录,超过三次则退出程序
    # 允许用户根据商品编号购买商品
    # 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
    # 可随时退出,退出时,打印已购买商品和余额

    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }

    conut=0
    # 循环体开始循环
    while True:
    u=input('请输入用户名:')
    if conut == 3:
    break


    with open('a.txt','r') as f:
    data=f.readlines()
    print(data)


    for user in data:
    user_list =user.strip().split('|')
    if u == user_list[0]:
    print(user_list[0])

    while True:
    p=input('请输入密码:').strip()
    if conut == 3:
    break


    with open('a.txt','r') as f:
    data=f.readlines()

    for passwd in data:
    user_list=passwd.strip().split('|')

    if u == user_list[0] and p == user_list[1].strip():
    print('用户%s登陆成功'%u)

    while True:
    money_str = input('请输入工资:').strip()
    money = int(money_str)

    if money == '':
    continue

    # 打印商品名称和价格列表

    msg_list = list(msg_dic.items())

    # 打印商品名称列表

    msg_name_list = list(msg_dic.keys())

    # 定义一个空的购物列表
    shopping_list = []
    shop_car = []



    while True:
    print('Product List'.center(40, '-'))

    for prod_name in msg_list:
    print(msg_list.index(prod_name) + 1, prod_name)

    choice_id = input('请输入商品名对应的编号,输入q退出程序!>>: ').strip()
    # 退出后打印已购商品信息和剩余金额
    if choice_id == 'q':
    print('购物车清单'.center(37, '-'))
    print('已购商品:', shop_car)
    print('您当前的余额为:', money)
    print('结束'.center(40, '-'))
    exit()

    if choice_id.isdigit():
    choice_id = int(choice_id)
    # 判断输入的商品编号条件
    if choice_id > 0 and choice_id <= len(msg_list):
    # 通过商品ID,等到商品名称
    choice_prod_name = msg_name_list[choice_id - 1]

    print('您选择的商品是%s!' % choice_prod_name)

    while True:
    prod_num = input('请输入购买商品个数,输入q退出程序!>>: ').strip()
    total_price = int(msg_dic[choice_prod_name]) * int(prod_num)
    # 判断是否金额足够购买商品
    if total_price <= money:
    # 计算剩余金额
    money -= total_price
    # 将已购买商品追加到列表中
    shop_car.append((choice_prod_name, int(prod_num)))
    print('您已购买商品%s' % choice_prod_name)
    print('您当前的余额为:', money)
    else:
    # 购买商品余额不足处理
    print('您的余额不足')

    # 退出打印已购商品清单,并打印余额
    if prod_num == 'q':
    print('购物车清单'.center(37, '-'))
    print('已购商品:', shop_car)
    print('您当前的余额为:', money)
    print('结束'.center(40, '-'))
    exit()
    # 判断输入商品数量是否为纯数字
    if prod_num.isdigit():
    break
    # 打印添加到购物车的商品
    shopping_list.append(
    (choice_prod_name, msg_dic[choice_prod_name], int(prod_num)))
    print('购物车', shopping_list)


    else:
    print('您输入的商品编号%s不存在,请重新选择商品!' % choice_id)

    else:
    print('你输入的错误次数太多退出程序')
    conut+=1













  • 相关阅读:
    mac 卸载 node并重新安装
    最小的Django应用
    Python如何实现文本转语音
    Python语言库pyttsx3
    大数据资料
    剑指offer(29)最小的K个数
    剑指offer(28)数组中出现次数超过一半的数
    剑指offer(27)字符串的排列
    剑指offer(26)二叉搜索树与双向链表
    JS、JAVA刷题和C刷题的一个很重要的区别
  • 原文地址:https://www.cnblogs.com/Lollipop1/p/8041518.html
Copyright © 2011-2022 走看看