python程序整理(1)
阅读原文时间:2023年07月08日阅读:2

'''
用户登录验证
要求:

  1. 系统⾃动⽣成4位随机数. 作为登录验证码. 直接用就好. 这里不用纠结
    提示. 生成随机数的办法.
    from random import randint
    num = 0
    verify_code = ""
    while num < 4:
    verify_code += chr(randint(65, 90))
    num += 1
    print(verify_code) # 四位随机验证码
  2. 用户输入⽤用户名和密码还有验证码.
  3. 用户可以有三次登录的机会. 但是验证码如果输入错误. 不计算在内
    '''

from random import randint

#正确的用户名和密码
username = "alex"
password = "123"

count = 3
while count > 0:
  #用户输入用户名和密码
  uname = input("请输入用户名:")
  pwd = input("请输入密码:")
  
  #生成验证码,每次生成的都是随机的(此处是题上提供的代码)
  num=0
  verify_code""
  while num < 4:
  verify_code += chr(randint(65, 90))
num += 1 # 用户输入验证码
  yzm = input("请输入验证码(%s)" % verify_code)
  #判断验证码是否正确
  if yzm.upper()!=verify_code:
    print("验证码错误!") #验证码错误,重新输入,并没有改变循环的次数限制,这样验证码错误就不会计算一次登录错误

  else:
    if uname == username and pwd == password:
      print("登陆成功!")
      break #退出程序
    else:
      print("对不起,用户名或密码错误")
      count -= 1 #用户登录失败,次数减一
      print("还有%s次机会" % count)

'''
数据结构:
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
……
]

功能要求:
基础要求:

    1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表

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

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

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

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

扩展需求:

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

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

goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}
]

#用户名密码
username = "alex"
password = "123"

f = open("shopping_cart.txt",mode="r",encoding="utf-8")
#从文件中读取到上次的余额,创建了一个文件"shopping_cart.txt" money = int(f.readline().strip().split(":")[1]) #账户内的钱

# 购物车
# [{'id': 0, 'name':'电脑', 'price': 1999, 'totle': 10}]
# [{'id': 编号, 'name':'商品', 'price': 价格, 'totle': 数量}]
# 从文件中读取到购物车内的数据
shoppingcart = eval(f.readline().strip())

f.close()

# 登录.
while 1:
uname = input("请输入你的用户名, 输入Q退出系统:")
if uname.upper() == 'Q':
print("系统退出")
break
pwd = input("请输入你的密码:")
if uname == username and pwd == password:
print("恭喜你. 登录成功")
_money = int(input("您当前的余额是:%s, 输入任意数字进行充值, 输入0不充值: " % money))
money += _money
while 1:

        # 商品列表  
        for i in range(len(goods)):  
            print("%s, 商品: %s, 价格: %s" % (i+1, goods\[i\]\['name'\], goods\[i\]\['price'\]))  

        # 用户输入要购买的商品编号  
        num = int(input("请输入您想要购买的商品编号:"))  

        # 获取到用户购买的商品  
        good = goods\[num - 1\]  

        # 校验是否可以购买  
        if money < good\['price'\]:    # 商品价格  
            print("对不起, 余额不足! 您当前的余额是%s 请购买其他商品!" % money)  
            continue   # 重新显示商品列表  
        else:  
            for g in shoppingcart:  
                if g\['id'\] == num - 1:   # 查看购物车中是否已经拥有已经够买了的商品  
                    g\['totle'\] += 1     # 已经有了. 数量加1就可以了  
                    break   # 结束购物车的添加  
            else:   # 购物车里没有该商品.  
                # 将第一次购买的商品添加到购物车  
                shoppingcart.append({'id': num-1, 'name': good\['name'\], 'price': good\['price'\], 'totle': 1})  

            money = money - good\['price'\]   # 扣款  

            # 提示用户购买成功  
            print("购买%s商品成功, 花费%s元, 您的余额是: %s" % (good\['name'\], good\['price'\], money))  

        # 判断是否继续购物  
        isContinue = input("请问是否继续购物. 输入任意内容继续, 输入N结束购物(N)")  
        if isContinue.upper() == 'N':  
            print("结束购物")  
            # 购物流程结束. 打印购物已经购买的商品和余额. 此处可以写在"结束购物"位置  
            print("您的余额是%s" % money)  

            print("商品编号\\t商品名称\\t商品单价\\t购买数量\\t花费金额")  
            for good in shoppingcart:  
                print("%s\\t%s\\t%s\\t%s\\t%s" % (  
                good\['id'\], good\['name'\], good\['price'\], good\['totle'\], (good\['price'\] \* good\['totle'\])))  

            # 将购物车中的内容和余额写入到文件中  
            f = open("shopping\_cart.txt", mode="w", encoding="utf-8")  
            f.write("money:%s\\n" % money)  

            f.write(str(shoppingcart))  
            f.flush()  
            f.close()  
            print("程序退出. 欢迎下次光临!")  

            exit()   # 结束购物  

else:  
    print("对不起, 登录失败")

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章