路飞学城-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 ...
随机推荐
- Unity 动画系统(Mecanim) 术语及翻译 表格
原文 翻译 Animation Clip 视频片段 Avatar 阿凡达 Retargeting 重定向 Rigging 绑定 skinning 蒙皮 Animator Component 动画组件 ...
- MySQL查询结果保存到本地
#!/bin/bash mysql -h<公网IP> -P<端口号> -u<用户名> -p<密码> -D<指定数据库> >/Users ...
- 蓝桥杯_left and throw
思考了许久没有结果,最后,还是一位擅长搜索资源的学长帮我找到了一个不错的代码,这个代码极其精妙,再一次印证了一句话,没有做不到的,只有想不到的,当然这个代码我拿到手的时候是个没有注释的代码,我费尽周折 ...
- node——将用户提交的数据写入data.json文件
前续 当我们在进行将数据提交到某个网页时,需要将提交数据保存下来 1.提交数据 2.获得数据 3.保存数据 先看提交数据: <!DOCTYPE html> <html lang=&q ...
- node——读取文件中的路径问题
前提 当前的js文件叫_dirnameandfilename.js和hello.txt同在G:\node练习文件夹下 还有一个_dirnameandfilename.js文件在i:/文件夹,但是i:/ ...
- luogo p3379 【模板】最近公共祖先(LCA)
[模板]最近公共祖先(LCA) 题意 给一个树,然后多次询问(a,b)的LCA 模板(主要参考一些大佬的模板) #include<bits/stdc++.h> //自己的2点:树的邻接链表 ...
- vue 页面跳转及参数传递和接收
跳转: this.$router.push({name: 'My',params:{ id:'1',name:'anson'}}); 接收: {{this.$route.params.id}}
- MyBatis学习总结(2)——使用MyBatis对表执行CRUD操作
一.使用MyBatis对表执行CRUD操作--基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...
- HAVING使用子查询
HAVING使用子查询 //查询各部门平均工资,显示平均工资大于 //公司整体平均工资的记录 select deptno,avg(sal) from emp group by ...
- JavaScript push(),join() 函数
定义和用法 push方法 可向数组的末尾添加一个或多个元素,并返回一个新的长度. join方法 用于把数组中所有元素添加到一个指定的字符串,元素是通过指定的分隔符进行分割的. 语法 arrayObje ...