# 基础需求:
# 让用户输入用户名密码
# 认证成功后显示欢迎信息
# 输错三次后退出程序
username = 'pandaboy'
password = ''
def Login(username,password):
i=0
while i<3:
U = input('Please input username>>>')
P = input('Please input password>>>')
if U == username and P == password:
print('Welcome\n'+username)
break
else:
i+=1
if 3-i !=0:
print("Sorry,Don't U forget your account? Please try again,you still have\t" +str(3-i) +"\ttimes.")
else:
print("Sorry! I am shutting down!")
break
if __name__ == '__main__':
Login(username,password)

第一次作业(basic)

# 升级需求:
# 可以支持多个用户登录 (提示,通过列表存多个账户信息){pandaboy的疑问:用列表存储应该更好?}
# 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
'''
1.用户可以输入3次不同的账户,都输错也不会锁定
2.用户全部输入三次相同用户名错误才会锁定
3.创建一个初始化状态的文件
参考了博客文件
'''
import os.path
import pickle
username= ['pandaboy','zombie','plant']
password = ['','','']
def Login(username,password):
i=0
while i<3:
if not os.path.isfile('lock_file'):
f = open('lock_file', 'wb')
msg = {'pandaboy': 0, 'zombie': 0, 'plant': 0}
pickle.dump(msg, f)
f.close()
f = open('lock_file', 'rb+')
msg = pickle.load(f)
U = input('Please input username>>>')
if U not in msg :
print('No such\t' +U+ '\taccount! Try again!')
f.close()
continue
if msg[U] == 3:
print('your account has been locked,please contact the administrator!')
f.close()
break
P = input('Please input password>>>')
if U in username and P == password[username.index(U)]:
print('Welcome', U)
msg[U] = 0
f.seek(0)
pickle.dump(msg, f)
f.close()
break
else:
print('Wrong password!')
msg[U] += 1
print('Find %s errors' % msg[U])
f.seek(0)
pickle.dump(msg, f)
f.close()
if __name__ == '__main__':
Login(username,password)

第二次作业(upgrade)

Python开发IDE(工具)
Pycharm、eclipse
1.循环
while 条件
#循环体
#条件为真则执行
#条件为假则执行
break用于退出所有循环
continue用于退出当前循环

2.Pycharm的run
本质上是自动调用python使用的解释器

3.Python基本运算符
+ - * / ** %

4.Python字符串
#"一二三" 在Python种包含的是三个字符
name ="自动导入模板新"
if "自动" in name:
print("包含")
else:
print("不包含")
#in表示是否包含子字符串(连续的叫做子序列、子字符串),判断连续的字符在不在选择的字符串中
#in或者not in判断某个字符是否在某个字符中

5.布尔值(真假值)
#真 True 
#假 False
if True :
执行语句
else:
执行语句

6.破解安装方法
http://blog.csdn.net/doc_wei/article/details/77996223
http://idea.lanyus.com/
(-javaagent:C:\Program Files\JetBrains\PyCharm 2017.3.3\lib\JetbrainsCrack-2.7-release-str.jar)

神秘学习代码:https://www.cnblogs.com/nulige/p/6128674.html

7.简单的Python运算符
==
>
<
>=
<=
!=不等于
<>不等于

user == 'id'and(or) pwd =='password'#执行的优先级是从左到右执行,先计算括号内的数据再把计算完成的括号内数据再进行比较计算

8.Python的运算法则
比较运算
a=1>5
逻辑运算
a=1>6 or 1==1
成员运算
a="wen" in "文"

9.Python的基本数据类型
每一种数据的类型都具有共同的功能
数字
#具有类型int(Python3不管数字有多大)
#所有的功能都包含在int里
int()可以将字符串转换为数字['123a'这样的字符串是不能改为数字的,会出现报错]
int(num,base=2)将字符串按照2进制的形式转换成为数字形式
.bit_length统计数字用二进制表示时具有几位

字符串
#字符串表示str(字符串的用法最重要)
#str.title()
#str.upper()
#str.startwith('xx')
#v1=test.casefold()#所有的都变小写,许多未知的对相应的变为小写
#v2=test.center(20,"^")#一共10个位置,将字符串放中间,不写则空白填充,只能写一个字符
#

upper()表示大写的英文字母

列表(列表的用法次重要)
#列表表示为list

元祖
#元祖表示为tuple

字典
#字典表示为dict

布尔值
#布尔值表示为bool

路飞学城-Python开发-第一章的更多相关文章

  1. 路飞学城-Python开发-第二章

    ''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...

  2. 路飞学城-Python开发集训-第1章

    学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...

  3. 路飞学城-Python开发集训-第3章

    学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...

  4. 路飞学城-Python开发集训-第2章

    学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...

  5. 路飞学城-Python开发集训-第4章

    学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...

  6. 路飞学城-Python开发-第三章

    # 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...

  7. 路飞学城-Python开发集训-第5章

    面向过程:核心是过程二字,过程是解决问题的步骤,相当于设计一条流水线,是机械式的思维方式 优点:复杂的问题流程化,进而简单化 缺点:可扩展性差 面向对象:核心是对象二字,对象就是特征与技能的结合体. ...

  8. 路飞学城—Python爬虫实战密训班 第三章

    路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...

  9. 路飞学城—Python爬虫实战密训班 第二章

    路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...

随机推荐

  1. JS面向对像编程四—— prototype 对象

    http://blog.csdn.net/fanwenjieok/article/details/54575560 大部分面向对象的编程语言,都是以“类”(class)作为对象体系的语法基础.Java ...

  2. git diff patch方法

    UNIX世界的软件开发大多都是协作式的,因此,Patch(补丁)是一个相当重要的东西,因为几乎所有的大型UNIX项目的普通贡献者,都是通过 Patch来提交代码的.作为最重要的开源项目之一,Linux ...

  3. Module build failed: Module failed because of a eslint warning

    eslint 设置 warning 级别,在 开发编译失败的原因,报错如下: F:\vue-mobile-skeleton>npm run dev > byhealth@1.0.0 dev ...

  4. linux下的查找命令

    whereis <程序名称> 查找软件的安装路径 -b 只查找二进制文件 -m 只查找帮助文件 -s 只查找源代码 -u 排除指定类型文件 -f 只显示文件名 -B <目录> ...

  5. jquery中的jsonp跨域调用(接口)

                                                                           jquery jsonp跨域调用接口

  6. Maven学习总结(23)——Maven常用命令介绍

    1.生成eclipse项目:mvn eclipse:eclipse 2.清除eclipse的一些系统设置:mvn eclipse:clean 3.mvn tomcat:run 在tomcat里面运行 ...

  7. Java分布式爬虫Nutch教程——导入Nutch工程,执行完整爬取

    Java分布式爬虫Nutch教程--导入Nutch工程,执行完整爬取 by briefcopy · Published 2016年4月25日 · Updated 2016年12月11日 在使用本教程之 ...

  8. ajax 获取 json 数据乱码

    打开json文本把json文件另存为 'utf-8' 编码格式的文件.....

  9. [using_microsoft_infopath_2010]Chapter4 使用SharePoint列表表单

    本章概要: 1.把SharePoint列表表单转换成InfoPath可用形式 2.使用字段和控件 3.规划表单布局 4.理解列表表单的局限性

  10. POJ 3270

    黑书上的经典题了.我说说解这个题的巧妙的地方吧. 首先,竟然和置换联系起来了.因为其实一个交换即至少可以使其中一个元素到达指定位置了.和循环置换联合起来,使得一个循环内的数可以一步到达指定位置,很巧妙 ...