Python使用笔记001
一、Pycharm小技巧
1.pycharm创建项目时,选择Python环境,不使用默认的虚拟环境
2.如何在pycharm中查看python版本
Files--Settings--Project Interpreter
3.修改pycharm中的字体
进入File-->Settings-->Editor-->Front可以对字体,大小等进行选择
4.配置pycharm可使用Ctrl+鼠标滚轮切换字体大小
进入File-->Settings-->General 勾选Change front size (Zoom) with Ctrl+Mouse Wheel
5.pycharm配置git
进入VCS-->Get from Version Control 输入git地址
6.pycharm快捷键
Ctrl+D:快速复制一行代码
Ctrl + /:注释(取消注释)选择的行;
Ctrl + Alt + L:格式化代码(与QQ锁定热键冲突,关闭QQ的热键);
Shift + Enter:在下方新建行并移到新行行首;
Ctrl + Enter:在下方新建行但不移动光标;
二、Python知识点
1.定义变量
1 #""和''是一样的
2 #如果字符串中含有' 用""
3 word1 = "let's go!"
4
5 #如果字符串中含有" 用''
6 word2 = '王五长得很"帅气"'
7
8 #如果字符串中既包含"和',用''''''
9 word3 = ''' let's go! 王五长得很"帅气" '''
10
11 #变量名='''fdsfsfs''' 定义变量
12 #'''''' 注释,多行注释
2.条件判断
1 age = 35
2 if age<6:
3 print('儿童')
4 elif age>=6 and age<18:
5 print('未成年人')
6 elif age>= 18 and age<35:
7 print('青年')
8 elif age>=35 and age<55:
9 print('中年人')
10 else:
11 print('老年人')
3.循环
循环包括for和while
while循环必须指定结束条件,否则会死循环
break:立即结束循环,不管你剩余多少次没有循环
continue:结束本次循环,继续进行下一次循环
while对应的else作用:
while正常结束循环后,会执行else里面的代码
else不是必须写的
1 count = 0
2 while count < 10:
3 count = count + 1 #count+=1
4 print('创建了文件夹', count)
5 break
1 # while:需要一个计数器
2 count = 0
3 while count < 10:
4 count = count + 1 #count+=1
5 if count == 4:
6 continue
7 print('创建了文件夹', count)
for循环:不需要计数器,也不会死循环
1 for i in range(10):
2 if i == 4:
3 continue
4 print('创建文件夹',i)
5 #break
6 else:#只要循环不是break提前结束的,都会执行else
7 print('for对应的else')
循环小练习
1 #需求分析
2 #1.随机产生一个数字
3 #2.循环7次
4 #3.input输入猜的数字
5 #4.判断猜测结果,大于,等于,小于
6 #5.提示:游戏次数超限,游戏结束
7
8 import random
9 number = random.randint(1,100)
10
11 for i in range(7):
12 inNum = int(input('请输入你的参数:'))
13 if inNum < number:
14 print('你输入的参数偏小了')
15 elif inNum > number:
16 print('你输入的参数偏大了')
17 else:
18 print('恭喜你猜对了')
19 break
20 else:
21 print('游戏次数已用完!')
执行结果,如图所示:
4.字符串格式化
1 name = '王五'
2 time = '2020-04-18'
3
4 s = '欢迎' + name + '登录,今天时间为:' + time
5 print(s)
6
7 s2 = '欢迎%s登录,今天时间为:%s' % (name, time)
8 print(s2)
9
10 s3 = '欢迎%s登录' % name
11 print(s3)
12
13 # %s:字符串,后面随便跟什么类型的变量都可以
14 # %d:整数,
15 # %f:浮点型,默认是保留6位小数点 %.2f保留两位小数点
16 age = 18
17 score = 98.5
18 s4 = '姓名:%s,年龄:%d,成绩:%.2f' % (name, age, score)
19 print(s4)
20
21 s5 = '年龄是{age},成绩是{score}'.format(age=78, score=98.3)
22 print(s5)
5.列表
1 #int float str list
2 stus = ['张三','李四','王五','晏殊','苏大强']#定义一个列表
3 stus2 = []#定义一个空的列表
4
5 #新增
6 stus.append('施雪')#把元素加到列表的最后
7 print(stus)
8 stus.insert(1,'施雨') #指定位置加入,编号(下标,角标,索引)从0开始的
9 print(stus)
10 #修改
11 stus[0] = '张小三'
12 print(stus)
13 #删除
14 stus.pop()#默认删除的是最后一个元素
15 stus.pop(0)#删除指定的下标的元素
16 del stus[1]#删除
17 stus.clear()#清空列表
18 stus.remove('施雨1111')#删除,传的是元素,如果传的元素不存在会报错
19 print(stus)
20
21
22 #取值
23 print(stus)
24 print(stus[0])
25 print(stus[3])
26
27
28 #其他方法
29 l2 = [1,12,3,23,1,8,5,6,56,23]
30 print(l2.count(1))#统计元素出现的次数
31 print(l2.index(3))#找指定元素的索引
32 l2.sort()#对list进行排序,默认是升序排序
33 print(l2)
34 l2.sort(reverse=True)#降序
35 print(l2)
36 l3 = l2.copy()#复制一个list
37 print(l3)
38 l2.extend(stus)#将一个列表的合并到令一个列表
39 print(l2)
40 l2.reverse()#反转
41 print(l2)
42
43
44
45 #二维数组
46 infos = [
47 ['name1','1111','beijing'],
48 ['name2','1234543','shanghai'],
49 ['name3','4324324','guangzhou']
50 ]
51
52 print(infos[2][0])
53 print(infos[-1][0])#list下标为-1代表取最后一个下标的值
54 print(infos[2][-1])
列表小练习
1 import datetime
2
3 today = datetime.datetime.today()
4 usernames = ['xiaohei', 'xiaobai', 'xiaoming']
5 passwords = ['123456', '11111', '1']
6
7 #登录
8 # username = input('username:')
9 # password = input('password:')
10 #欢迎 xxx登录,今天的是时间是xxx。
11 #登录错误次数过多,最多登录3次
12 #需求分析:
13 #1、循环3次
14 #2、输入账号和密码
15 #3、判断账号是否存在 in count
16 #4、根据账号取到账号的下标,然后用下标取到密码
17 #5、判断账号/密码是否正确
18 for i in range(3):
19 username = input('username:')
20 if usernames.count(username) > 0: # 判断账号是否存在,存在才可以登录
21 index = usernames.index(username) # 找到账号在列表中的索引
22 password = input('password:')
23 if password == passwords[index]:
24 print('恭喜%s登录成功,登录时间为:%s' % (username, today))
25 break
26 else:
27 print('输入的密码不正确')
28 else:
29 print('输入的账号不存在')
30 else:
31 print('登录次数过多,最多登录3次')
执行结果如图所示:
6.字典
1 #字典key-value,字典是没有顺序的
2 #list取值,是挨个找,速度慢
3 #字典取值,是直接根据key来查找,速度很快
4 #stu_info = {}#定义一个空的字典
5 stu_info = {'name': 'xiaowu', 'phone': '18112341120', 'addr': 'guangzhou'}
6
7
8 #增加
9 stu_info['age'] = 18
10 stu_info.setdefault('qq','34324234232')
11 #两者的区别,stu_info['age'] = 18,如果key值已存在,则修改
12 #stu_info.setdefault('addr','34324234232') 如果key值已存在,则保持原样
13 #如果key值不存在,两者没有区别
14 print(stu_info)
15
16 #修改
17 stu_info['addr'] = 'beijing'
18
19
20 #删除,如果删除不存在的key值,会报KeyError: 'age111'
21 stu_info.pop('age')
22 del stu_info['qq']
23
24
25 #取值
26 print(stu_info.get('name')) #取不存在的key值,返回None
27 print(stu_info.get('sex','女'))#get不到key值,会返回默认值,如果get到值,则默认值不起作用
28 print(stu_info['name'])#取不存在的key值,报KeyError: 'name1'
29 print(stu_info)
30
31
32 #其他方法
33 new_stu_info = stu_info.copy()#拷贝到别的字典
34 stu_info.clear()#清空字典
35 print(new_stu_info.keys())#获取字典的所有key值
36 print(new_stu_info.values())#获取字典的所有value值
37 print(new_stu_info.items())#把字典变成了一个二维数组
38 new_stu_info.update(name='xiaohei',money=5000)#可以修改字段值,也可以新增key-value
39 print(new_stu_info)
字典小练习
1 import datetime
2 today = datetime.datetime.today()
3 '''
4 作业:
5 usernames = ['xiaohei','xiaobai','xiaoming']
6 passwords = ['123456','11111','1']
7 需要通过代码把上面的两个list转成下面的字典
8 user_info = {'xiaohei':'123456','xiaobai':'11111','xiaoming':'1','lcl':'123'}
9 1、注册
10 1、输入账号和密码、确认密码
11 2、要校验账号是否存在(从字典里面判断),存在的话,不能注册
12 3、校验两次输入的密码是否一致,如果一致,加入到字典中,提示注册成功
13 4、最多3次
14 5、要校验输入是否为空,为空也算一次错误,全是空格也算空
15 2、登录
16 1、输入账号和密码
17 2、要校验账号是否存在(从字典里面判断),不存在的话,不能登录
18 3、账号和密码一致就可以登录
19 4、最多3次
20 5、要校验输入是否为空,为空也算一次错误,全是空格也算空
21 '''
22 usernames = ['xiaohei','xiaobai','xiaoming']
23 passwords = ['123456','11111','1']
24 user_info = {}
25 #将list里的值,转成字典user_info
26 for i in range(len(usernames)):
27 user_info.setdefault(usernames[i],passwords[i])
28
29 print(user_info)
30
31 #注册
32 for j in range(3):
33 regUserName = input('请输入注册的账号:')#获取注册的账号
34 if regUserName.strip() == '':#输入的账号不能为空
35 print('输入的账号不能为空!')
36 else:
37 #print(user_info.get(regUserName))
38 if user_info.get(regUserName) == None:#字典中不存在的账号,才可以注册
39 regPassword = input('请输入密码:') # 获取注册的账号密码
40 if regPassword.strip() == '':
41 print('输入的密码不能为空!!!')
42 else:
43 regCheckPass = input('请输入确认密码:') # 获取注册的账号确认密码
44 if regPassword == regCheckPass:
45 print('恭喜你,注册成功!!!')
46 user_info.setdefault(regUserName, regPassword)#将注册账号信息保存到字典user_info中
47 break
48 else:
49 print('两次输入的密码不一致!')
50 else:#字典中存在的账号,不给注册
51 print('注册的账号已存在')
52 else:
53 print('注册次数已使用完!!!')
54
55
56 #登录
57 for c in range(3):
58 loginUsername = input('请输入登录的账号:')
59 if loginUsername.strip() == '':
60 print('输入的登录账号不能为空')
61 else:
62 if user_info.get(loginUsername) != None:#判断输入的账号是否在字典中存在,存在才可以登录
63 loginPassword = input('请输入密码:')
64 if loginPassword.strip() == '':
65 print('输入的密码不能为空')
66 else:
67 if loginPassword == user_info.get(loginUsername):#判断账号和密码与字典表中的匹配,才可以登录成功
68 print('恭喜【%s】登录成功,登录时间为:%s'%(loginUsername,today))
69 break
70 else:
71 print('输入的密码不匹配,登录失败')
72 else:
73 print('输入的账号不存在')
74 else:
75 print('登录的次数已用完!!!!')
执行结果如图所示:
Python使用笔记001的更多相关文章
- [Python学习笔记-001] 内置函数getattr()
如果某个实例foo有多个方法, 当对foo的每一个方法我们都需要使用try ... except ...进行包装的时候,内置函数getattr()可以用来精简代码. 1. getattr()的用法 # ...
- Python学习笔记001——Linux
Linux文件系统采用树形目录结构,系统中一切皆文件.文件名字母区分大小写 Linux命令使用格式(终端窗口) 命令名 [选项] [参数] 命令名:在命令行输入命令. 备注:命令名字母区分大小写, 1 ...
- Python学习笔记001
二进制 换算: 十进制转二进制 除二取余,然后倒序排列,高位补零. 将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就可以. 二 ...
- 近期Python学习笔记
近期Python 学习笔记--一篇文入门python 作者:Pleiades_Antares(www.cnblogs.com/irischen) 写在前面的话 想学Python已经许久,一年多以前(应 ...
- Deep learning with Python 学习笔记(1)
深度学习基础 Python 的 Keras 库来学习手写数字分类,将手写数字的灰度图像(28 像素 ×28 像素)划分到 10 个类别 中(0~9) 神经网络的核心组件是层(layer),它是一种数据 ...
- 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细
翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...
- Web Scraping with Python读书笔记及思考
Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
随机推荐
- RADAR毫米波雷达传感器
RADAR毫米波雷达传感器 TI 利用先进的集成式射频 CMOS 雷达技术提供品类齐全的 60GHz 和 77GHz 传感器产品系列 通过高性能集成射频互补金属氧化物半导体 (CMOS) 雷达技术,可 ...
- 适用于Linux 2的Windows子系统上的CUDA
适用于Linux 2的Windows子系统上的CUDA Announcing CUDA on Windows Subsystem for Linux 2 为了响应大众的需求,微软在2020年5月的构建 ...
- WordPress安装篇(5):源码编译安装LNMP并部署WordPress
与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...
- NX二次开发-通过数组创建矩阵
函数:UF_CSYS_create_matrix() 函数说明:通过数组创建矩阵. 用法: #include <uf.h> #include <uf_csys.h> exter ...
- noip2006总结
T1 能量项链 原题 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子 ...
- MySQL 数据库设计的“奥秘”
2 MySQL 数据库设计的"奥秘" [主题]逻辑设计:数据类型与 Schema 所谓"万丈高楼平地起",一个稳固的建筑离不开扎实的基础.同样,良好的的「逻辑设 ...
- c++实现希尔密码
实验名称: 希尔密码的实现(c++版;本文只以26个大写英文字符作为加密后的密文的可选项) 实验原理: 引用知识: 记 Zm={0,1,2,...,m-1} 定义1:设A为定义在集合Zm 上的n阶方阵 ...
- 富文本编辑器之游戏角色升级ing
一.前言 想必大家看到这个标题,心中不禁会浮现几个问题: 什么是富文本编辑器? 富文本编辑器和游戏角色有什么关系? 为什么是升级ing? 什么是富文本编辑器--富文本编辑器集成了格式设置.媒体嵌入.社 ...
- WinUI桌面版替换UWP项目实际使用
最近做了一个3D打印的RC遥控车.然后就想着用xbox手柄控制小车的前进和转向吧,于是就用surface平板接收收手柄的数据,然后通过串口的2.4G模块传输数据,看上挺简单的,其实本身也挺简单的. 我 ...
- POJ 1703 Find them, Catch them 并查集,还是有点不理解
题目不难理解,A判断2人是否属于同一帮派,D确认两人属于不同帮派.于是需要一个数组r[]来判断父亲节点和子节点的关系.具体思路可参考http://blog.csdn.net/freezhanacmor ...