设为首页 收藏本站
查看: 932|回复: 0

[经验分享] 【18】Python半成品购物车

[复制链接]
YunVN网友  发表于 2018-8-5 06:39:19 |阅读模式
import sys  product_list=[
  ('Iphone',7000),
  ('Watch',333),
  ('Water',10),
  ('coffer',54),
  ('Xiaomi',2490),
  ]
  ###将文件转换成字典
  f=open('user.txt','r')
  user_lis=f.read()
  f.close()
  user_info=user_lis.split("#")
  user_dict={}
  ###工资
  salary=10000
  sa=[]
  ###历史购物车
  show_shopping_log=[]
  ###购物车
  add_cart=[]
  for item in user_info:
  item_list=item.split(":")
  user_dict[item_list[0]]=item_list[-1]
  print(user_dict)
  while True:
  ####用户部分####
  print("输入1:用户注册,输入2:老用户登录,输入q退出")
  login_num=input("请选择: ")
  if login_num.isdigit():
  login_num=int(login_num)
  if login_num==1:
  while True:
  user_1=input("输入注册用户名:")
  if user_1 in user_dict:   ###判断注册用户是否存在,存在则退出当前循环
  print("用户已存在,请重新注册")
  continue
  else:
  pass_1=input("请设置密码:") ###设置新用户密码
  f=open('user.txt','a+')  ###将注册用户与密码保存账户文件中(a+,追加内容,不会覆盖原本内容)
  f.write("#%s:%s"%(user_1,pass_1))
  f.close()
  a1="恭喜,注册成功"
  a11=a1.center(20,"-")
  print(a11)
  break  ####注册成功,返回初始界面
  elif login_num==2:
  while True:
  with open('user.txt','r') as f:
  user_lis2=f.read()
  user_info2=user_lis2.split("#")
  user_dict1={}
  for item1 in user_info2:
  item_list1 = item1.split(":")
  user_dict1[item_list1[0]] = item_list1[-1]
  print(user_dict1)
  user_2=input("输入用户名登录:")
  if user_2 in user_dict1:
  pass_2=input("输入密码:")
  if pass_2 == user_dict[user_2]:
  a2="登录成功,欢迎进入"
  a22=a2.center(20,'-')
  print(a22)
  while True:
  print("选择a购物/选择b查询余额/选择c充值/选择q退出")
  print("------------------------------------------------")
  choice_1=str(input("根据提示选择模式>>>"))
  if choice_1 =="a": ###购物模式
  while True:
  for index,t in enumerate(product_list):###添加索引
  print(index,t)  #打印商品
  print("------------------------------")
  print("选择a查询购物车、选择b返回、q退出")
  user_choice1=input("选择购买的商品序号或进入其它菜单>>>>>")  #选择购买的商品
  if user_choice1.isdigit():   #修整字符类型
  user_choice1=int(user_choice1)
  if 0<=user_choice1<len(product_list): #不在范围内,表示商品不存在
  p_item = product_list[user_choice1]
  print(p_item)
  if p_item[1] <=salary:  ###判断余额
  print("您已购买商品")
  salary -= p_item[1] #减去金额
  add_cart.append(p_item)  ###加入购物车
  show_shopping_log=add_cart.copy()  ###拷贝到购物历史中
  print("您已购买\033[31;1m{}\033[0m,余额还剩\033[31;1m{}\033[0m".format(p_item,salary))
  continue
  else:
  print('----------已购商品---------')
  print("-----退出a购物模式------")
  print(show_shopping_log)
  break
  else:
  print("----------------------------")
  print("您输入的商品不存在,请重新购买")
  elif user_choice1=="a": #####a查询购物车
  print("-----购物车------")
  print("已购买",show_shopping_log)
  elif user_choice1 == 'b':  ###退出当前模式,并打印已购买商品。
  print("                      ")
  print('返回-----已购买商品如下')
  print(add_cart)
  break
  elif user_choice1=='q': ###退出购物
  sys.exit()
  elif choice_1=="b": ###b查看余额
  print("-----还剩\033[31;1m{}\033[0m-----".format(salary))
  continue
  elif choice_1=="c":  ##c充值
  while True:
  print("您的余额不足,是否充值。(充值1/返回b)")
  salary_11 = input("请确认是否充值:")
  if salary_11.isdigit():
  salary_11 = int(salary_11)
  if salary_11 == 1:
  print("------输入充值金额-------")
  salary_22 = int(input("充值>>>"))
  salary += salary_22
  print("充值完成后,还剩\033[31;1m{}\033[0m".format(salary))
  continue
  elif salary_11=="b":
  break
  elif choice_1=="q":  ###退出购物
  sys.exit()
  else:
  a3="密码错误,请重新输入"
  print(a3.ljust(13,"!"))  #字符串补位
  continue
  else:
  a4="用户不存在,请重新输入"
  print(a4.ljust(14,'!'))
  continue
  elif login_num=='q':
  sys.exit()

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-546675-1-1.html 上篇帖子: python之基础篇(九)——异常 下篇帖子: Python Redis-DreamScape
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表