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

执行结果如图所示:

 

posted @ 2020-04-18 21:18  cjxxl1213  阅读(304)  评论(0编辑  收藏  举报