路飞学城-Python开发-第一章
# 基础需求:
# 让用户输入用户名密码
# 认证成功后显示欢迎信息
# 输错三次后退出程序
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开发-第一章的更多相关文章
- 路飞学城-Python开发-第二章
''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...
- 路飞学城-Python开发集训-第1章
学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...
- 路飞学城-Python开发集训-第3章
学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...
- 路飞学城-Python开发集训-第2章
学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...
- 路飞学城-Python开发集训-第4章
学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...
- 路飞学城-Python开发-第三章
# 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...
- 路飞学城-Python开发集训-第5章
面向过程:核心是过程二字,过程是解决问题的步骤,相当于设计一条流水线,是机械式的思维方式 优点:复杂的问题流程化,进而简单化 缺点:可扩展性差 面向对象:核心是对象二字,对象就是特征与技能的结合体. ...
- 路飞学城—Python爬虫实战密训班 第三章
路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...
- 路飞学城—Python爬虫实战密训班 第二章
路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...
随机推荐
- LIst和map的遍历
1. public static void main(String[] args) { // ArrayList类实现一个可增长的动态数组 List<String> list = new ...
- JS中通过LayUI的layer.prompt弹出文本输入层,多个按钮回调获取输入值
JS中通过LayUI弹出文本输入层,多个按钮回调: 如图所示,输入文本后点击通过/不通过按钮回调获取输入文本值的实现: 实现JS: layer.prompt({ formType: 2, // 弹出文 ...
- layui动态修改select的选中项
layui动态修改select的选中项:(在layUI下给select设置默认选项) 例: $("select[name='result']").val(11); //重新渲染表单 ...
- 实验楼—Mysql—查找最爱学的课程
转载:https://www.shiyanlou.com/challenges/2651 背景 从上节题目构建的课程数据库中提取每个用户最爱学的课程数据. 右边桌面是实验楼的服务器,服务器中的 MyS ...
- Day 02 - 01 计算机的操作系统
操作系统 场景:有以下三个人 1.庄园主 -->相当于人类 2.管家 --> 把人类要传达的信息分配给奴隶,相当于操作系统 3.奴隶 -->为人类干活的机器 1.操作系统做了什么? ...
- JavaScript 运行机制 & EventLoop
JavaScript 运行机制 & EventLoop 看阮老师博客和自己的理解,记录的学习笔记,js的单线程和 事件EventLoop 机制. 1. JavaScript是单线程 JavaS ...
- man帮助命令
linux系统提供可比较丰富的帮助手册,man是manual(说明书)的缩写,在日常的linux系统管理中经常会用到. 语法: man(选项)(参数) 选项: -a:在所有的man帮助手册中搜索: - ...
- 光盘文件的挂载和yum源配置
一.挂载光盘文件 1.将光盘推入 2.新建挂载点 mkdir /mnt/cdrom 3.挂载 3.1临时挂载 mount /dev/dcrom /mnt/cdrom 或者 mount –t iso ...
- python基础,函数,面向对象,模块练习
---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? # [] {} () None 0 2,位和字节的关系? # ...
- JQuery与CSS之图片上放置button
position:relative日常应用的时候通常是设置给position:absolute;的父层的, 父层position:relative; 子层position:absolute;的话, 就 ...