一、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('登录的次数已用完!!!!')

执行结果如图所示:

最新文章

  1. IONIC 开发的Android应用程序签名(或重新签名)详解
  2. Problem to create &quot;New Database Diagram&quot; in Microsoft SQL Server Management Studio for SQL Server 2012
  3. 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件
  4. MacOS 下端口占用解决办法
  5. vim常用指令一览
  6. Asp.net 获取服务器指定文件夹目录文件,并提供下载
  7. ORA-01157,记一次Oracle故障恢复过程
  8. django的admin或者应用中使用KindEditor富文本编辑器
  9. pycharm远程同步服务器代码,并设置权限
  10. asp.net 使用rabbitmq事例
  11. jQuery 命名空间的使用
  12. Jlink使用技巧之J-Scope虚拟示波器功能
  13. codeforces157B
  14. Luogu4099 HEOI2013 SAO 组合、树形DP
  15. centos中selinux功能及常用服务配置
  16. 在centos7中安装nodejs(npm )
  17. JMS之——ActiveMQ时抛出的错误Could not connect to broker URL-使用线程池解决高并发连接
  18. P2467 [SDOI2010]地精部落
  19. 20154327 Exp9 Web安全基础
  20. MongoDB随笔

热门文章

  1. Go语言的函数06---闭包函数
  2. MindSpore循环神经网络
  3. LLVM编译器架构
  4. nvGRAPH原理概述
  5. C++标准模板库(STL)——set常见用法详解
  6. SSM和SpringBoot常用注解
  7. python做。大神空闲时间能帮忙弄一串代码嘛?猜拳游戏,分很多种手的背面和正面,最后剩下的再石头剪刀布
  8. 基于Android平台的图书管理系统的制作(3)
  9. 【NX二次开发】根据视图名称旋转视图,在布局中替换视图uc6464
  10. NX二次开发-从一个坐标系到另一个坐标系的转换