码迷,mamicode.com
首页 > 编程语言 > 详细

Python day2_17-9-11

时间:2017-09-15 10:09:03      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:lis   bin   用户名   with   nbsp   price   代码   linu   coding   

三级菜单

要求:

打印省、市、县三级菜单

可返回上一级

可随时退出程序

技术分享
data={黑龙江省:{哈尔滨:[尚志县,南山县,北山县,东山县,西山县],             大庆:[萨尔图区,东西县,南北先],             齐齐哈尔:[通州县,朝阳县,西城县,昌平县]},      山西省:{太原:[,,,],             大同:[某县,丰台县,漳州县,灵境县,莘庄县]},      河北省:{邯郸市:[广平县,魏县,衢州县,成安县,大明县],             石家庄:[天真县,浪漫县,前列县,侄女县,乐吧县]}
      }
while True:
    count = True
    for i in data.keys():
        print(i)
    user_info = input(\n"q"退出程序\n输入省 >> ).strip()
    if user_info==q:exit()
    if user_info in data.keys():
        abc=data[user_info].keys()
        while count:
            print(list(abc))
            users_info = input("\n‘q‘退出程序,‘r‘返回上一级\n输入需要查询的市 >> ").strip()
            if users_info==q:exit()
            if users_info in data[user_info]:
                print(data[user_info][users_info])
                sur=input(\n返回上一级"y",任意键退出 # )
                if sur == y:continue
                else:exit()
            elif users_info == r:
                count=False
                continue
            else:print(请输入正确的城市名 \n)
    else:
        print(请输入正确的城省名\n)
代码

 

垃圾版购物车

用户名和密码存放于文件中,格式为:XXX|XXX;

启动程序后,先登录;失败则重新登录,超过三次则锁定此用户;

登录成功则让用户输入工资,然后打印商品列表;

用户根据商品编号购买商品,选择购买数量;

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

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

技术分享
#!/usr/bin/env python
#coding:utf-8
#需在脚本同目录下创建pass文件,用于存放登陆的用户名密码 例: tcc|cc123
#再在同目录下创建user空文件,用于存放锁定用户
login_record={}         #用户信息表

with open(pass,r) as f:
    for line in f:
        u,p=line.strip().split(|)
        login_record[u]=({p:p,count:0})
        # 打开存放用户名密码的文件,并倒入用户信息表

us1=open(user,r)
balck_name=us1.read()
us1.close()
#打开并纪录黑名单用

trade_name=[
    [iphone X   , 8358],
    [mac bookpro,  13588],
    [huiwei X   ,  4300],
    [audi       ,  1340000],
    [LV         ,  35000],
    [fgj A      ,  880],
    [LinuxBook  ,  99],
]
trade_list=[]

while True:
    user_name=input(用户名 > ).strip()
    if not user_name:continue           #输入为空则继续输入
    if user_name in balck_name:
        print(The account!)
        break
        #检查该用户是否在很名单中,在则退出
    elif not user_name in login_record:
        print(Without this user\n)
        continue
        #检查用户名是否存在
    if user_name in login_record :
        user_pass = input(密码 > )
        if user_pass == login_record[user_name][p]:
            while True:
                user_money=input(您的本金 > ).strip()
                if user_money.isdigit():
                    user_money=int(user_money)
                    break
                else:print(请正确输入金额!)
            while user_money > 0:
                count=True
                print(欢迎来到CC商场.center(30,~))
                for key,vl in enumerate(trade_name,1):
                    print (key,{0}\t:\t{1}.format(vl[0],vl[1]))
                print(出售中的商品.center(30, ~))
                user_in=input(输入购买商品的序号,"q"退出 > ).strip()
                if user_in.isdigit() and len(user_in)==1 and int(user_in)<=len(trade_name):
                    user_in=int(user_in)-1
                    user_trade = trade_name[user_in]   #获取商品
                    while count:
                        u_trade_num = input(\n(返回请按"r",退出请按"q")  数量 > ).strip()
                        if u_trade_num.isdigit():
                            trade_price = trade_name[user_in][1] * int(u_trade_num)
                            while count:
                                if user_money >= trade_price:
                                    user_money = user_money - trade_price
                                    trade_list.append(user_trade)
                                    print(购物车{c},余额{y}.format(y=user_money, c=trade_list))
                                    count=False
                                    continue
                                else:
                                    print(余额不足!)
                        else:
                            print(\n请正确输入您购买的数量!\n)
                elif user_in in q:print(欢迎下次光临!),exit()
                else:
                    print(\n请输入正确的序号!\n)
            else:
                print(别玩了,没钱了!)
        else:
            login_record[user_name][count]+=1#打开并纪录黑名单用
            print(用户名或密码错误)
            # 密码每一次输入错误都纪录
            if login_record[user_name][count] > 3:
                print(超过最大次数,请联系管理员)
                record = open(user, a)
                record.write(%s\t %user_name)
                record.close()
                exit()
                #密码错误大于三次后退出程序并锁定该用户
代码

 

Python day2_17-9-11

标签:lis   bin   用户名   with   nbsp   price   代码   linu   coding   

原文地址:http://www.cnblogs.com/tiancc/p/7507944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!