Python3实现购物车功能


本文摘自php中文网,作者不言,侵删。

这篇文章主要为大家详细介绍了Python3实现购物车功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Python3实现购物车功能的具体代码,供大家参考,具体内容如下

购物车要求:

1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表

2、允许用户根据商品编号购买商品

3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒

4、可随时退出,退出时,打印已购买商品和余额

5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示

6、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买

7、允许查询之前的消费记录

逻辑图:

执行代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

#!/usr/bin/env python3

# Author: Robert

# --*-- coding: utf-8 --*--

 

set = False  #设置set 当输入为q就可以退出

file = open("购物车用户信息档案.txt","r+",encoding="utf-8"#读取购物车用户信息文件

f = str(file.read())  #将文件内容转化成字符串

for line in f:

  file_str = str(f)

data = eval(file_str)  #将字符串转换为字典data

 

name = input("输入姓名:")

password = input("输入密码:")

while True:

  if name in data:      #用户在档案中

    if password in data[name]:     #密码和用户名对应,校验正确,登录。

      salary = float(data[name][password])

      print('''\033[32;1m欢迎登录,当前余额为%s\033[0m'''%salary)

      break

    else:      #否则密码错误,请重新输入

      password = input("密码错误,请重新输入:")

      continue

  else:      #否则判断为首次登录,将用户名,密码,工资存到用户信息文件中

    password_salary = {}

    salary_str = input("欢迎首次登录,请输入你的工资:")

    salary = float(salary_str)

    password_salary[password] = salary     #工资对应到密码

    data[name] = password_salary      #将密码-工资对应到用户名

    file.seek(0)

    file.write(str(data))

    file.tell()

    break

 

list = [#购物清单

  ["iphone",5800],

  ["sifei",800],

  ["macbook",17500],

  ["book",75],

  ["apple",5]

]

 

file_list_r = open("历史购物信息.txt","r+",encoding="utf-8")

file_list_r = str(file_list_r.read())

shoppinglist_dict = eval(file_list_r)

if name not in shoppinglist_dict:

  shoppinglist_dict[name] = []

shoppinglist = shoppinglist_dict[name]

shoppinglist_dict_now = []

choose = input("\n是否需要查询历史购物记录(y/n):")

if choose == 'y':

  print("\n\n---------->历史购物记录<----------")

  print(shoppinglist)

  print("---------->结束<----------")

 

while not set:   #购物车开始

  print("---------->商品清单<----------")

  for index,item in enumerate(list,1):

    print(index,item)

  print("---------->结束<----------")

  number = input("请输入想购买商品编号:")

  if number == "q":

    set = True

    data[name][password] = str(salary)

    file.seek(0)

    file.write(str(data))

    file.tell()

    print("---------->购物清单<----------")

    print(shoppinglist)

    print("您的余额:",salary)

    print("---------->结束<----------")

    shoppinglist.extend(shoppinglist)

    shoppinglist_dict[name] = shoppinglist

  elif number.isdigit() == False:

    print("\033[31;1m输入不是编号内容,请重新输入\033[0m")

  elif int(number)>int(len(list)) or int(number)<= 0:     #输入值不在清单中,报错

    print("\033[31;1m您所购买的商品不在清单中\033[0m")

  else:

    number_buy = int(number)-1

    if list[number_buy][1]<(salary):      #如果余额足够,提示购买成功并显示余额。

      salary = salary - int(list[number_buy][1])

      msg = '\033[32;1m您已经将%s加入购物车中,余额为%d\033[0m'%(list[number_buy][0],salary)

      print(msg)

      shoppinglist.append(list[number_buy])      #将本次购物信息加到购买记录中

    else:

      print("\033[31;1m余额不足,无法购买!\033[0m")      #提示余额不足

购物车用户信息档案.txt

{'name': {'password': '10000'}, 'cx': {'123': '725.0'}, 'robert': {'qw': '440.0'}, 'cv1': {'1': 100.5}, 'ROBERT': {'QW': 1560.0}, 'qwe': {'qw': '1555.0'}}

历史购物信息.txt

{'name': [['iphone', 5800],['bike', 800]], 'cx':[['iphone', 5800],['apple', 5],['apple', 5], ['book', 75]]}

相关推荐:

python购物车程序代码

Python实现购物车程序




以上就是Python3实现购物车功能的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python怎么换行写代码

Python中关于django对数据库mysql的增删改查操作详解

如何使用scrapy shell来验证xpath选择的结果详细教程

Python中文叫什么

Python中如何获取字符串的长度

Pythons是什么

如何使用vscode愉快的写Python于调试配置步骤_Python

拿下 Python中的文件操作

Python不支持的数据类型有哪些

Python的numpy数组怎么合并

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...