返回顶部
首页 > 资讯 > 后端开发 > Python >python学习心得-第一天-作业
  • 178
分享到

python学习心得-第一天-作业

作业学习心得python 2023-01-31 02:01:06 178人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

python学习第一天作业作业1用户输入帐号密码进行登陆用户信息保存在文件内用户密码输入错误三次后锁定用户代码:#__author__ = 'leslie' #-*-coding:utf-8-*- # #1. 用户输入帐号密码进行登陆 #2

python学习第一天作业

作业1

  1. 用户输入帐号密码进行登陆

  2. 用户信息保存在文件内

  3. 用户密码输入错误三次后定用户

代码:

#__author__ = 'leslie'
#-*-coding:utf-8-*-
#
#1. 用户输入帐号密码进行登陆
#2. 用户信息保存在文件内
#3. 用户密码输入错误三次后锁定用户

import os
import sys

pass_list = open("leslie.txt","r")#预先填写,格式为 姓名:密码
drop_list = open ("caosubo.txt","r")
name_list = []
clock_list =[]
name_dict = {}

for i in pass_list:#将白名单中的信息读取,存储到列表中
    name,passWord = i.strip('\n').split(':')
    name_list.append(name)
    name_dict[name] = password
pass_list.close()

for i in drop_list:#将黑名单的信息读取,存储到列表中
    clock_list.append(i.strip('\n'))
drop_list.close()

count = 0
username = input("Please input your name:")



if username in clock_list:
    print ("Sorry ,you are in blacklist")
    sys.exit()
else:
    if username in name_dict:
        for count in range(10):
            if  count < 3:
                passwd = input("Please input your passwd:")
                if passwd == name_dict[username]:
                    print ("Welcome!".center(40,'-'))
                    break
                else:
                    print ("Sorry,your passwd is worry!")
                    count +=1
                    continue
        if  count > 3:
            print ("Your name is blacklist")
            f = open('caosubo.txt','a')
            f.write(username + '\n')
            f.close()
            sys.exit()
    else:
        print ("Sorry ,your name is not in")
        sys.exit()

作业2

三级菜单:

  1. 运行程序输出第一级菜单

  2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单

  3. 菜单数据保存在文件中

代码:

/#__author__ = 'leslie'
#-*- coding = utf-8 -*-


import sys
import shop

shop_list = shop.shop_list
exit_flag = False
the_choice = []

while exit_flag is not True:
    for i in shop_list:
        print (i)
    choice1 = input ("Please input your choice:")
    if choice1 in shop_list:

        for a in shop_list[choice1]:
            print (a)
        choice2 = input ("Please input your choice2:")
        if choice2 in shop_list[choice1]:

            for c in shop_list[choice1][choice2]:
                print (c)
            choice3 = input ("Please input your choice3:")
            if choice3 in shop_list[choice1][choice2]:

                the_choice.append(choice3)
            elif choice3 == 'b':
                continue
            elif choice3 == 'q':
                exit_flag = True
            else:
                print ("No your choice")
                continue
        elif choice2 == 'b':
            continue
        elif choice2 == 'q':
            exit_flag = True
        else:
            print ("No your choice")
            continue
    elif choice1 == 'b':
        continue
    elif choice1 == 'q':
        exit_flag = True
        print (the_choice)
        break
        sys.exit()
    else:
        print ("No your choice")
        continue

作业3

购物车:

  1. 商品信息- 数量、单价、名称

  2. 用户信息- 帐号、密码、余额

  3. 用户可充值

  4. 购物历史信息

  5. 允许用户多次购买,每次可购买多件

  6. 余额不足时进行提醒

  7. 用户退出时 ,输出档次购物信息

  8. 用户下次登陆时可查看购物历史

  9. 商品列表分级显示

代码:

#__author__ = 'leslie'
#-*- condig=utf-8 -*-

#购物车:
#1. 商品信息- 数量、单价、名称
#2. 用户信息- 帐号、密码、余额
#3. 用户可充值
#4. 购物历史信息
#5. 允许用户多次购买,每次可购买多件
#6. 余额不足时进行提醒
#7. 用户退出时 ,输出档次购物信息
#8. 用户下次登陆时可查看购物历史
#9. 商品列表分级显示

import os
import sys

name_list = {
    'caosubo':['123456','9999'],'leslie':['2345','8888']
}
shop_list = ['家用电器','日用百货','服装鞋帽']

dianqi = ['电视','洗衣机','电冰箱']
yiyongbaihuo = ['洗衣粉','卫生纸','牙膏']
cloth = ['男装','女装','童装']

tv = [('创维',3000),('乐视',4000)]
washer = [('海尔',5000),('小天鹅',4500)]
icebox = [('海尔',6000),('格力',5500)]
detergent = [('雕牌',10),('立白',8)]
bumf = [('维达',15),('心相印',15)]
toothpaste = [('中华',12),('黑人',15)]
cloth_man = [('杉杉',200),('七匹狼',500)]
cloth_woman = [('普拉达',5000),('迪奥',10000)]
cloth_child = [('小天才',500),('巴拉巴拉',600)]

a = {'家用电器':dianqi,'日用百货':yiyongbaihuo,'服装鞋帽':cloth}
b = {'电视':tv,'洗衣机':washer,'电冰箱':icebox,'洗衣粉':detergent,'卫生纸':bumf,'牙膏':toothpaste,'男装':cloth_man,'女装':cloth_woman,'童装':cloth_child}

shop_car = {}
exit_flag = False
count = 0

while exit_flag is not True:
    if count < 3:
        username = input("请输入你的姓名:")
        password = input("请输入密码:")
        if username in name_list:
            passwd = name_list[username][0]
            salary = int(name_list[username][1])
            if password == passwd:
                f = open(username,'a')
                print ("Welcome".center(40,'-'))
                print ("您的账户余额为:%s"%salary)
                money = input ("确定是否充值,输入金额,否请输入n:")
                if money.isdigit():
                    money = int(money)
                    salary = salary + money
                    print ("你的余额为%s:"%salary)
                    break
                elif money == 'n':
                    break
                else:
                    print ("请重新输入!")
            else:
                print ("您的密码有误!请重新输入:")
                count += 1
        else:
            print ("尚未注册")
            count += 1
    else:
        exit()
while exit_flag is not True:
    print ("商品分类".center(40,'-'))
    for item in enumerate(shop_list):
        print (item)
    first_choice = input ("请输入你的选择:")
    if first_choice.isdigit() :
        first_choice = int(first_choice)
        if first_choice < len((shop_list)):
            shop1 = a[shop_list[first_choice]]
            print ("商品分类".center(40,'-'))
            for item in enumerate(shop1):
                print (item)
            second_choice = input ("请输入你的选择:")
            if second_choice.isdigit():
                second_choice = int(second_choice)
                if second_choice < len(shop1):
                    shop2 = b[shop1[second_choice]]
                    print ("商品分类".center(40,'-'))
                    for item in enumerate(shop2):
                        print (item)
                    third_choice = input ("请输入你的选择:")
                    if third_choice.isdigit():
                        third_choice = int(third_choice)
                        if third_choice < len(shop2):
                            shop_choice = shop2[third_choice][0]
                            number = input ("购买数量:")
                            if number.isdigit():
                                number = int(number)
                                if number > 0:
                                    shop_price = shop2[third_choice][1]*number
                                else:
                                    print ("您的输入有误!")
                            else:
                                print ("您的输入有误!")
                            if salary > shop_price:
                                salary = salary -  shop_price
                                shop_car[shop_choice] = number
                                print (shop_car)
                            else:
                                print ("你的余额不足!")
                                input_money = input ("需要充值吗?请输入金额或是q退出:")
                                if input_money.isdigit():
                                    input_money = int (input_money)
                                    salary = salary + input_money
                                    print ("您现在的余额为:%s"%salary)
                                elif input_money == 'q':
                                    pass
                                else:
                                    print ("对不起你输入有误!")
                        else:
                            print ("您的选择有误,请重新选择!")
                    elif third_choice == 'q':
                        print ("欢迎下次光临!".center(40,'-'))
                        print ("您购买的商品如下:%s"%shop_car)
                        print ("您的余额为:%s"%salary)
                        exit_flag = True
                    else:
                        print ("您的输入有误!")
            elif second_choice == 'q':
                print ("欢迎下次光临!".center(40,'-'))
                print ("您购买的商品如下:%s"%shop_car)
                print ("您的余额为:%s"%salary)
                exit_flag = True
            else:
                print ("您的输入有误!")
    elif first_choice == 'q':
        print ("欢迎下次光临!".center(40,'-'))
        print ("您购买的商品如下:%s"%shop_car)
        print ("您的余额为:%s"%salary)
        exit_flag = True
    else:
        print ("您的输入有误!")

#将购物车信息存储在已用户名命名的文件中
f = open(username,'a')
bb = str(shop_car)
f.write(bb + '\n')
f.close()

作业4

HAproxy配置文件操作:

  1. 根据用户输入输出对应的backend下的server信息

  2. 可添加backend 和sever信息

  3. 可修改backend 和sever信息

  4. 可删除backend 和sever信息

  5. 操作配置文件前进行备份 6 添加server信息时,如果ip已经存在则修改;如果backend不存在则创建;若信息与已有信息重复则不操作

配置文件 参考 Http://www.cnblogs.com/alex3714/articles/5717620.html

代码:

#__author__ = 'leslie'
#{'backend': 'www.leslie.com','record':{ 'server': '100.1.7.8' ,'weight': 10,'maxconn': 1000 }}
import shutil

#选项菜单
def choice():
    print ("Welcome".center(40,'#'))
    choice_list = ["1.查询","2.添加","3.删除","4.修改","q.退出"]
    print (choice_list)

#文件备份
def copy():
    shutil.copyfile('haproxy','haproxy.txt')

#查询
def query(backend):
    flag = False
    query_list = []
    with open ('haproxy','r',encoding="utf-8") as file:
        for line in file:
            if line.strip() == 'backend %s'% backend:
                flag = True
                continue
            if line.strip().startswith('backend'):
                flag = False
            if flag and line.strip():
                query_list.append(line.strip())
    return query_list

#内容添加
def add (dict_list):
    dict_list = eval(dict_list)
    backend_name = dict_list.get('backend')
    backend_context = (("backend %s")%backend_name)
    record_name = dict_list["record"]
    record_context = ("server %s %s weight %s maxconn %s"%(record_name['server'],record_name['server'],record_name['weight'],record_name['maxconn']))
    record_list = query(backend_name)
    flag = False
    if  record_list:
        write_flag = False
        with open ('haproxy','r',encoding="utf-8") as file_old ,open ('haproxynew','w',encoding="utf-8") as file_new:
            for line in file_old:
                if line.strip() == backend_context:
                    file_new.write("\n" + line)
                    flag = True
                    continue
                if flag and line.startswith('backend'):
                     flag = False
                if flag:
                    for line_new in record_list:
                        if not write_flag:
                            file_new.write(line_new)
                            write_flag = True
                else:
                    file_new.write(line)
    else:
         with open ('haproxy','r',encoding="utf-8") as file_old ,open ('haproxynew','w',encoding="utf-8") as file_new:
             for line in file_old:
                 file_new.write(line)
             file_new.write("\n" + backend_context + "\n")
             file_new.write(" "*8 + record_context +"\n")
             flag = True
    if flag is  True:
        shutil.move('haproxynew','haproxy')

#内容删除
def delete (dict_list):
    dict_list = eval(dict_list)
    backend_del = dict_list['backend']
    record_del = dict_list['record']
    backend_context = ('backend %s'%backend_del)
    record_context = ("server %s %s weight %s maxconn %s"%(record_del['server'],record_del['server'],record_del['weight'],record_del['maxconn']))
    query_list = query(backend_del)
    if not query_list:
        return
    else:
        if record_context not in query_list:
            print ("IT is not in it ")
            return
        else:
            query_list.remove(record_context)
        with open ('haproxy','r',encoding="utf-8") as file_old ,open ('haproxynew','w',encoding="utf-8") as file_new:
            flag = False
            write_flag = False
            for line in file_old:
                if line.strip()== backend_context:
                    file_new.write(line)
                    flag = True
                    continue
                if flag and line.startswith('backend'):
                    flag = False
                if flag:
                    if not write_flag:
                        print (query_list)
                        for line in query_list:
                            file_new.write("%s%s\n"%(""*8,line))
                        write_flag = True
                else:
                    file_new.write(line)
        if flag is  True:
            shutil.move('haproxynew','haproxy')

#内容修改
def change (dict_list):
    dict_list = eval(dict_list)
    backend_name = dict_list.get('backend')
    backend_context = (("backend %s")%backend_name)
    record_name = dict_list["record"]
    record_context = ("server %s  weight %s maxconn %s"%(record_name['server'],record_name['weight'],record_name['maxconn']))
    record_context_new =["server %s  weight %s maxconn %s"%(record_name['server'],record_name['weight'],record_name['maxconn'])]
    record_list = query(backend_name)
    record_list_new = str(record_list)
    flag = False
    if not record_list:
        with open ('haproxy','r',encoding="utf-8") as file_old ,open ('haproxynew','w',encoding="utf-8") as file_new:
            for line in file_old:
                file_new.write(line)
            file_new.write("\n" + backend_context +"\n")
            file_new.write(" "*8 + record_context +"\n")
            flag = True
    if record_list:
        with open ('haproxy','r',encoding="utf-8") as file_old ,open ('haproxynew','w',encoding="utf-8") as file_new:
            for line in file_old:
                file_new.write(line)
                if line.strip() == backend_context:
                    if record_list == record_context_new:
                        print ("It is in now".center(40,"#"))
                        continue
                    else:
                        for line in file_old:
                            if line.strip().startswith('server'):
                                line = (" "*8 + record_context + "\n")
                                file_new.writelines(line)
                                file_new.flush()
                                flag = True

    if flag is True:
        shutil.move('haproxynew','haproxy')


flag = False
while flag is not True:
    choice()
    choice_list = input ("Please input your choice:").strip()
    if choice_list.strip() == '1':
        copy()
        backend_name = input ("Please input backend:").strip()
        result = query(backend_name)
        print (result)
    elif choice_list.strip() == '2':
        copy()
        backend_list_dict = (input("Please input your backend:").strip())
        add(backend_list_dict)
    elif choice_list.strip() == '3':
        copy()
        backend_list_dict = (input("Please input your backend:").strip())
        delete(backend_list_dict)
    elif choice_list.strip() == '4':
        copy()
        backend_list_dict = (input("Please input your backend:").strip())
        change(backend_list_dict)
    elif choice_list.strip() == 'q':
            print ("GoOD BYE".center(40,'#'))
            flag = True
            exit('quit')
    else:
        print ("Sorry what is your input is error")

Edit By MaHua


--结束END--

本文标题: python学习心得-第一天-作业

本文链接: https://lsjlt.com/news/186789.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python学习心得-第一天-作业
    python学习第一天作业作业1用户输入帐号密码进行登陆用户信息保存在文件内用户密码输入错误三次后锁定用户代码:#__author__ = 'leslie' #-*-coding:utf-8-*- # #1. 用户输入帐号密码进行登陆 #2...
    99+
    2023-01-31
    作业 学习心得 python
  • Python学习笔记:第一天python
    目录 1. python简介 2. python的安装 3. 编写第一个helloword 4. 变量和常量 5. 数据...
    99+
    2023-01-30
    学习笔记 Python python
  • 我的python学习--第十一天
    上午:作业讲解bootstrap-multiselect插件sweetalert插件下午:datatables----表格插件datetimepicker----时间插件Validform----表单验证插件锁定用户禁止登录---...
    99+
    2023-01-31
    第十一天 python
  • 学习python第二天
    一、python的版本选择与安装后的操作 python 2 vs 3 1。 默认支持中文 2. 不兼容2.x 3. 核心语法调整,更易学 4. 新特性默认只在3.x上有 系统位数 32bit =内存的最大寻址空间是2**32, ...
    99+
    2023-01-31
    第二天 python
  • python 学习第四天
    目录 基本运算符 算术运算符 比较运算符 赋值运算符 逻辑运算符 身份运算符 pyth...
    99+
    2023-01-31
    第四天 python
  • python学习第二天
    目录 操作系统 操作系统干了什么 为什么要有操作系统 操作系统有什么用 应用程序的启动和操作系统的启动 ...
    99+
    2023-01-31
    第二天 python
  • Python第一次作业练习
    题目分析:"""参考学校的相关规定。对于四分制,百分制中的90分及以上可视为绩点中的4分,80 分及以上为3分,70 分以上为2分,60 分以上为1分;五分制中的5分为四分制中的4分,4分为3分,3分为2分,2分为1分。要求: ...
    99+
    2023-09-21
    python 开发语言
  • 学习python的第二十一天(loggi
    1.logging模块 用于程序的运行日志 1.初级 #首先程序运行分会出现5中情况 1.logging.info('info') #程序正常运行级别为10 2.logging.debug('debug') #程序调试...
    99+
    2023-01-31
    python loggi
  • 学习python的第二十一天(hashl
    1.hashlib模块(文件传输中将传输内容用指定算法进行处理) hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、...
    99+
    2023-01-31
    python hashl
  • 学习《简明Python教程》第一天
    第一天开始学习python,我自己会坚持的…… 做学习笔记为自己更好的复习,所做的一切若能带给像我一样刚刚入门朋友更大的方便, 我会很高兴……,如果有疏漏之处,请各位GGJJ提出指正,本人将不胜感激!   1、启动python带提示符的解释...
    99+
    2023-01-31
    简明 教程 Python
  • 我的python学习--第十四天(一)
    一、运维管理系统(基于Flask)回顾1、权限控制  通过session实现权限控制,session是一个全局字典,当用户登录时,可以获取到用户的用户名,通过查找数据库获取用户的权限保存进session中,在每次页面跳转时同过查询sessi...
    99+
    2023-01-31
    第十四天 python
  • python学习第二天 -----201
    第二周-第02章节-Python3.5-模块初识 #!/usr/bin/env python #-*- coding:utf-8 _*- """ @author:chenjisong @file: sys.py @time: 2019/...
    99+
    2023-01-31
    第二天 python
  • 学习爬虫的第一天
    爬虫是什么? 网络就如同蜘蛛网,而数据相当于里面的节点,爬虫如同蜘蛛,通过节点去获取蜘蛛网上的内容,获取想要的数据信息 获取网页数据方式: 1、浏览器访问——下载网页数据 2、模拟浏览器对网页进行访问——解析数据——将所需要的内容保存在本...
    99+
    2023-01-31
    爬虫
  • 我的python学习--第五天
    一、函数的定义:  def 函数名(name,age=20,*params):    函数体    return 返回值  示例:def hello():     print 'hello world'               # pr...
    99+
    2023-01-31
    第五天 python
  • 我的python学习--第四天
    一、首先是对前三天的学习内容进行复习  1、python基础的数据结构      数字(int/float,包括整数和浮点数)          布尔(boolean => True/False)      字符串(str,使用''或...
    99+
    2023-01-31
    第四天 python
  • 我的python学习--第三天
    第三天  1:列表及Python基础回顾  2:字典 列表字典生成式及应用场景  3:字符串 字典字符串转换及应用场景  4:文件操作 文件字典转换及应用场景  5:总结基础数据结构的知识脑图 -- 增删查改1、列表的操作:  help(l...
    99+
    2023-01-31
    python
  • 学习python的第四天(python的
    一.Jupyter的安装以及运行 1.Jupyter的安装 运行CMD,在CMD中输入pip3 --default-timeout=100 install -U jupyter 再输入pip3 install jupyter_contr...
    99+
    2023-01-31
    第四天 python
  • 学习Python第一天,命令很多跟Lin
    学习Python第二天,看了一天,有点头疼,准备先休息一会,再继续。有一点C语言和Java基础,学起来不是很费劲。学习热情尚好。 学习了dir,math模块,import加载模块,有跟Linux相似的地方。 >>> di...
    99+
    2023-01-31
    命令 Python Lin
  • 学习python的第一天(编程,计算机组
    一.Typora 关于用Typora 自我感觉良好,基本快捷键也比较简单,ps:还是要多用用 二.编程 1.编程语言 是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。(来自百度百科对于编程语言的诠释) ...
    99+
    2023-01-31
    机组 python
  • 学习python的第三天(变量)
    一.关于python 1.交互式 说一句解释一句 2.命令行式 1.编写文件并且保存 2.打开python解释器,在pyrhon中打开文本,读入内存(python打开的时候,翻译不是瞬间) 3.python解释文本 注意:第二阶段相当于...
    99+
    2023-01-31
    变量 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作