Python使用小技巧
一、Pycharm小技巧
1.pycharm创建项目时,选择Python环境,不使用默认的虚拟环境
2.修改pycharm中的字体
进入File-->Settings-->Editor-->Front可以对字体,大小等进行选择
3.配置pycharm可使用Ctrl+鼠标滚轮切换字体大小
进入File-->Settings-->General 勾选Change front size (Zoom) with Ctrl+Mouse Wheel
4.pycharm配置git
进入VCS-->Get from Version Control 输入git地址
5.pycharm快捷键
Ctrl+D:快速复制一行代码
Ctrl + /:注释(取消注释)选择的行;
Ctrl + Alt + L:格式化代码(与QQ锁定热键冲突,关闭QQ的热键);
Shift + Enter:在下方新建行并移到新行行首;
Ctrl + Enter:在下方新建行但不移动光标;
二、Python知识点
1.定义变量
#""和‘‘是一样的 #如果字符串中含有‘ 用"" word1 = "let‘s go!" #如果字符串中含有" 用‘‘ word2 = ‘王五长得很"帅气"‘ #如果字符串中既包含"和‘,用‘‘‘‘‘‘ word3 = ‘‘‘ let‘s go! 王五长得很"帅气" ‘‘‘ #变量名=‘‘‘fdsfsfs‘‘‘ 定义变量 #‘‘‘‘‘‘ 注释,多行注释
2.条件判断
age = 35 if age<6: print(‘儿童‘) elif age>=6 and age<18: print(‘未成年人‘) elif age>= 18 and age<35: print(‘青年‘) elif age>=35 and age<55: print(‘中年人‘) else: print(‘老年人‘)
3.循环
循环包括for和while
while循环必须指定结束条件,否则会死循环
break:立即结束循环,不管你剩余多少次没有循环
continue:结束本次循环,继续进行下一次循环
while对应的else作用:
while正常结束循环后,会执行else里面的代码
else不是必须写的
count = 0 while count < 10: count = count + 1 #count+=1 print(‘创建了文件夹‘, count) break
# while:需要一个计数器 count = 0 while count < 10: count = count + 1 #count+=1 if count == 4: continue print(‘创建了文件夹‘, count)
for循环:不需要计数器,也不会死循环
for i in range(10): if i == 4: continue print(‘创建文件夹‘,i) #break else:#只要循环不是break提前结束的,都会执行else print(‘for对应的else‘)
循环小练习
#需求分析 #1.随机产生一个数字 #2.循环7次 #3.input输入猜的数字 #4.判断猜测结果,大于,等于,小于 #5.提示:游戏次数超限,游戏结束 import random number = random.randint(1,100) for i in range(7): inNum = int(input(‘请输入你的参数:‘)) if inNum < number: print(‘你输入的参数偏小了‘) elif inNum > number: print(‘你输入的参数偏大了‘) else: print(‘恭喜你猜对了‘) break else: print(‘游戏次数已用完!‘)
执行结果,如图所示:
4.字符串格式化
name = ‘王五‘ time = ‘2020-04-18‘ s = ‘欢迎‘ + name + ‘登录,今天时间为:‘ + time print(s) s2 = ‘欢迎%s登录,今天时间为:%s‘ % (name, time) print(s2) s3 = ‘欢迎%s登录‘ % name print(s3) # %s:字符串,后面随便跟什么类型的变量都可以 # %d:整数, # %f:浮点型,默认是保留6位小数点 %.2f保留两位小数点 age = 18 score = 98.5 s4 = ‘姓名:%s,年龄:%d,成绩:%.2f‘ % (name, age, score) print(s4) s5 = ‘年龄是{age},成绩是{score}‘.format(age=78, score=98.3) print(s5)
5.列表
#int float str list stus = [‘张三‘,‘李四‘,‘王五‘,‘晏殊‘,‘苏大强‘]#定义一个列表 stus2 = []#定义一个空的列表 #新增 stus.append(‘施雪‘)#把元素加到列表的最后 print(stus) stus.insert(1,‘施雨‘) #指定位置加入,编号(下标,角标,索引)从0开始的 print(stus) #修改 stus[0] = ‘张小三‘ print(stus) #删除 stus.pop()#默认删除的是最后一个元素 stus.pop(0)#删除指定的下标的元素 del stus[1]#删除 stus.clear()#清空列表 stus.remove(‘施雨1111‘)#删除,删除指定的元素 print(stus) #取值 print(stus) print(stus[0]) print(stus[3]) #其他方法 l2 = [1,12,3,23,1,8,5,6,56,23] print(l2.count(1))#统计元素出现的次数 print(l2.index(3))#找指定元素的索引 l2.sort()#对list进行排序,默认是升序排序 print(l2) l2.sort(reverse=True)#降序 print(l2) l3 = l2.copy()#复制一个list print(l3) l2.extend(stus)#将一个列表的合并到令一个列表 print(l2) l2.reverse()#反转 print(l2) #二维数组 infos = [ [‘name1‘,‘1111‘,‘beijing‘], [‘name2‘,‘1234543‘,‘shanghai‘], [‘name3‘,‘4324324‘,‘guangzhou‘] ] print(infos[2][0]) print(infos[-1][0])#list下标为-1代表取最后一个下标的值 print(infos[2][-1])
列表小练习
import datetime today = datetime.datetime.today() usernames = [‘xiaohei‘, ‘xiaobai‘, ‘xiaoming‘] passwords = [‘123456‘, ‘11111‘, ‘1‘] #登录 # username = input(‘username:‘) # password = input(‘password:‘) #欢迎 xxx登录,今天的是时间是xxx。 #登录错误次数过多,最多登录3次 #需求分析: #1、循环3次 #2、输入账号和密码 #3、判断账号是否存在 in count #4、根据账号取到账号的下标,然后用下标取到密码 #5、判断账号/密码是否正确 for i in range(3): username = input(‘username:‘) if usernames.count(username) > 0: # 判断账号是否存在,存在才可以登录 index = usernames.index(username) # 找到账号在列表中的索引 password = input(‘password:‘) if password == passwords[index]: print(‘恭喜%s登录成功,登录时间为:%s‘ % (username, today)) break else: print(‘输入的密码不正确‘) else: print(‘输入的账号不存在‘) else: print(‘登录次数过多,最多登录3次‘)
执行结果如图所示:
6.字典
#字典key-value,字典是没有顺序的 #list取值,是挨个找,速度慢 #字典取值,是直接根据key来查找,速度很快 #stu_info = {}#定义一个空的字典 stu_info = {‘name‘: ‘xiaowu‘, ‘phone‘: ‘18112341120‘, ‘addr‘: ‘guangzhou‘} #增加 stu_info[‘age‘] = 18 stu_info.setdefault(‘qq‘,‘34324234232‘) #两者的区别,stu_info[‘age‘] = 18,如果key值已存在,则修改 #stu_info.setdefault(‘addr‘,‘34324234232‘) 如果key值已存在,则保持原样 #如果key值不存在,两者没有区别 print(stu_info) #修改 stu_info[‘addr‘] = ‘beijing‘ #删除,如果删除不存在的key值,会报KeyError: ‘age111‘ stu_info.pop(‘age‘) del stu_info[‘qq‘] #取值 print(stu_info.get(‘name‘)) #取不存在的key值,返回None print(stu_info.get(‘sex‘,‘女‘))#get不到key值,会返回默认值,如果get到值,则默认值不起作用 print(stu_info[‘name‘])#取不存在的key值,报KeyError: ‘name1‘ print(stu_info) #其他方法 new_stu_info = stu_info.copy()#拷贝到别的字典 stu_info.clear()#清空字典 print(new_stu_info.keys())#获取字典的所有key值 print(new_stu_info.values())#获取字典的所有value值 print(new_stu_info.items())#把字典变成了一个二维数组 new_stu_info.update(name=‘xiaohei‘,money=5000)#可以修改字段值,也可以新增key-value print(new_stu_info)
字典小练习
import datetime today = datetime.datetime.today() ‘‘‘ 作业: usernames = [‘xiaohei‘,‘xiaobai‘,‘xiaoming‘] passwords = [‘123456‘,‘11111‘,‘1‘] 需要通过代码把上面的两个list转成下面的字典 user_info = {‘xiaohei‘:‘123456‘,‘xiaobai‘:‘11111‘,‘xiaoming‘:‘1‘,‘lcl‘:‘123‘} 1、注册 1、输入账号和密码、确认密码 2、要校验账号是否存在(从字典里面判断),存在的话,不能注册 3、校验两次输入的密码是否一致,如果一致,加入到字典中,提示注册成功 4、最多3次 5、要校验输入是否为空,为空也算一次错误,全是空格也算空 2、登录 1、输入账号和密码 2、要校验账号是否存在(从字典里面判断),不存在的话,不能登录 3、账号和密码一致就可以登录 4、最多3次 5、要校验输入是否为空,为空也算一次错误,全是空格也算空 ‘‘‘ usernames = [‘xiaohei‘,‘xiaobai‘,‘xiaoming‘] passwords = [‘123456‘,‘11111‘,‘1‘] user_info = {} #将list里的值,转成字典user_info for i in range(len(usernames)): user_info.setdefault(usernames[i],passwords[i]) print(user_info) #注册 for j in range(3): regUserName = input(‘请输入注册的账号:‘)#获取注册的账号 if regUserName.strip() == ‘‘:#输入的账号不能为空 print(‘输入的账号不能为空!‘) else: #print(user_info.get(regUserName)) if user_info.get(regUserName) == None:#字典中不存在的账号,才可以注册 regPassword = input(‘请输入密码:‘) # 获取注册的账号密码 if regPassword.strip() == ‘‘: print(‘输入的密码不能为空!!!‘) else: regCheckPass = input(‘请输入确认密码:‘) # 获取注册的账号确认密码 if regPassword == regCheckPass: print(‘恭喜你,注册成功!!!‘) user_info.setdefault(regUserName, regPassword)#将注册账号信息保存到字典user_info中 break else: print(‘两次输入的密码不一致!‘) else:#字典中存在的账号,不给注册 print(‘注册的账号已存在‘) else: print(‘注册次数已使用完!!!‘) #登录 for c in range(3): loginUsername = input(‘请输入登录的账号:‘) if loginUsername.strip() == ‘‘: print(‘输入的登录账号不能为空‘) else: if user_info.get(loginUsername) != None:#判断输入的账号是否在字典中存在,存在才可以登录 loginPassword = input(‘请输入密码:‘) if loginPassword.strip() == ‘‘: print(‘输入的密码不能为空‘) else: if loginPassword == user_info.get(loginUsername):#判断账号和密码与字典表中的匹配,才可以登录成功 print(‘恭喜【%s】登录成功,登录时间为:%s‘%(loginUsername,today)) break else: print(‘输入的密码不匹配,登录失败‘) else: print(‘输入的账号不存在‘) else: print(‘登录的次数已用完!!!!‘)
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16