Python学习-w1

刚开始学Python一周,主要掌握程序开发的基本知识:

1 变量赋值与引用

2 条件控制语句,如if。。。else,for循环,while循环等

3 数组,元组,字典基本概念与操作(增,删,改。查),感觉数组与字典在python开发里面会被大量使用

4 基本模块os,当前主要了解os.getcwd(),获取当前路径以及os.chdir()切换路径

5 基本模块sys,主要了解sys.argv获取参数数量

6 文件基本操作以及对应模式

代码示例1:

模拟用户登录,主要包括:验证失败锁定账号+账号注册+密码修改+查看账号+创建账号

#!/usr/bin/env python# -*- coding: utf-8 -*-

user_allow = []user_deny = []

while True:    banner = "Welcome"    print(banner.center(20,"="))    if user_allow:        for i in range(3):            banner_login = "Please enter your name and password to login!"            print(banner_login)            lname = input("Login Name:")            lpwd = input("Login Password:")            if user_deny:                for m in range(len(user_deny)):                    if lname == user_deny[m][0]:                        print("It is locked. Please contract your administrator !")            else:                pass            for n in range(len(user_allow)):                if lname == user_allow[n][0] and lpwd == user_allow[n][1]:                    print("Welcome %s to login !" % lname)                    select = input("List[l]| Reset password [c]| Users[a]| Logout[x]:")                    if select == "l":                        for luser in range(len(user_allow)):                            print(user_allow[luser][0])                        break                    elif select == "x":                        print("Logout! Bye bye !")                        break                    elif select == "c":                        print("Now reseting the password...")                        opwd = input("Your old password:")                        npwd = input("Your new password:")                        npwd2 = input("Confirm:")                        if npwd == npwd2:                            if opwd == user_allow[n][1]:                                user_allow[n][1] = npwd2                                print("The password is updated!")                        else:                            print("It is not match !")                            continue                    elif select == "a":                        print("==Add new user info==")                        add_user = input("The new account:")                        add_pwd1 = input("The password:")                        add_pwd2 = input("Confirm:")                        if add_user not in user_allow and add_pwd1 == add_pwd2:                            user_allow.append([add_user,add_pwd2])                            print("The user is added.")                            continue                        else:                            print("It is not match!")                            continue                else:                    i = 2 - i                    if i > 0 and i <=2 :                        print("Sorry,you have %s times" % i)                    elif i == 0:                        print("Sorry,your account is locked!")                        user_deny.append([lname,lpwd])                        exit()    else:        print("Please register first!")        uname = input("New Name:")        upwd = input("New Password:")        user_allow.append([uname,upwd])        print("The register is successful !")

示例2:

3级菜单,主要包括显示菜单列表+退出+返回功能:

#!/usr/bin/env python# -*- coding: utf-8 -*-

menu = {    "servers":{        "HP":{            "G9":["2C/32T","256G","1T*8",50000]        }    },    "labtops":{        "IBM":{            "T560":["1C/8T","8G","128SSD*1+1T*1",12000]        }    },    "networks":{        "CISCO":{            "C2950":["48P",6000]        }    }}

while True:    for i in menu:        print(i)    select1 = input("Your select[Quit:q]:") #servers    if select1 in menu:        while True:            for i2 in menu[select1]:                print("\t",i2)            select2 = input("Your select[Back:x|Quit:q]:") #HP            if select2 in menu[select1]:                while True:                    for i3 in menu[select1][select2]:                        print("\t\t",i3)                    select3 = input("Your select[Back:x|Quit:q]:")  # G9                    if select3 in menu[select1][select2]:                        while True:                            for i4 in menu[select1][select2][select3]:                                print("\t\t\t",i4)                            select4 = input("[Back:x|Quit:q]:")                            if select4 == "x":                                break                            elif select4 == "q":                                exit()                    elif select3 == "x":                        break                    elif select3 == "q":                        exit()            elif select2 == "x":                break            elif select2 == "q":                exit()    elif select1 == "q":        exit()

感受:

以前一直习惯用shell写脚本,在功能比较简单的情况下,还是喜欢shell的简单粗暴,单刀直入。特别接近系统层面的操作,读取文件,过滤字符串等操作。

Python没有像shell那样的grep过滤功能,很多判断主要依靠in语句。其也没有case语句,可以构建菜单,目前主要通过字典方式形成。

刚开始写shell脚本时,通常命令比较熟悉,但是思路欠缺。而现在学python开发时,往往有思路,但是通过何种功能实现,比较陌生。

相信经过一段时间练习,熟悉的python的特性,掌握更多的操作命令,开发更复杂的程序会更加得心应手。

时间: 2024-10-03 09:50:24

Python学习-w1的相关文章

python学习:程序控制结构·作业20141219

Python学习:程序控制结构 20141219 编程环境: windows 7 x64 python 2.7.6 题目: 1 编写程序,完成下列题目(1分) 题目内容: 如果列出10以内自然数中3或5的倍数,则包括3,5,6,9.那么这些数字的和为23.要求计算得出任意正整数n以内中3或5的倍数的自然数之和. 输入格式: 一个正整数n. 输出格式: n以内中3或5的倍数的自然数之和. 输入样例: 10 输出样例: 23 时间限制:500ms内存限制:32000kb n = int(raw_in

python学习第二天

python学习的第二天就是个灾难啊,这天被打击了,自己写的作业被否认了,不说了,写博客还是个好习惯的,要坚持下去,就不知道能坚持到什么时候.呵呵!!! 这天教的知识和第一天的知识相差不大,区别在于比第一天讲的更细了(我们是两个老师教的,风格是不一样的),这次也写那些比较细的知识点. python的简介 (1)你的程序一定要有个主文件. (2)对于python,一切事物都是对象,对象基于类创建.#似懂非懂,不过有那么点似懂. 知识点 #__divmod__ 会把两个数字相除的商和余数以元组的方式

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

python学习之最简单的用户注册及登录验证小程序

文章都是从我的个人博客上粘贴过来的哦,更多内容请点击 http://www.iwangzheng.com 正如很多同学所知道的,楼主开始学习python了,前进的道路曲曲折折,有荆棘也有陷阱,从最简单的小程序写起,每天练习,将python进行到底. 有一点比较别扭的就是python的换行之后空四个空格,ruby都是两个,并且python在方法和循环语句的第一句都要加冒号 mysql> show create table user; mysql> alter table user add sal

python学习--创建模块

昨天做了python客户端和服务器端通信,并把接收到的信息写到数据库,因为对数据库进行操作是个经常调用的行为,所以我想把调用数据库的操作写成一个module来给其它python程序调用,所以将昨天的服务器端程序拆分为两个文件: 1.主程序python.py #!/usr/bin/env python import socket import json import connmysql s = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) h

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

Python学习day5作业-ATM和购物商城

Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 购物车: 商品信息- 数量.单价.名称 用户信息- 帐号.密码.余额 用户可充值 购物历史信息 允许用户多次购买,每次可购买多件 余额不足时进行提醒 用户退出时 ,输出当次购物信息 用户下次登陆时可查看购物历史 商品列表分级显示 1

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

python学习笔记12-模块使用

python学习笔记12-模块使用 模块os,sys 什么是模块? 模块os,sys 模块是Python组织代码的一种基本方式 一个Python脚本可以单独运行,也可以导入到另外一个脚本运行,用import hello语句来导入,不用加入.py 什么是Python的 包? Python的模块可以按照目录组织为包 创建一个包的步骤: 创建一个名字为包名的目录 在改目录下创建一个__init__.py文件 根据需要,在该目录下存放脚本文件或已编译的扩展及子包 import pack.m1,pack.