zoukankan      html  css  js  c++  java
  • 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('登录的次数已用完!!!!')

    执行结果如图所示:

  • 相关阅读:
    用互不相同的fib数列的数分解任意整数。
    2015 初赛TG 错题解析
    【模板】判断二叉查找树
    【初赛】完善程序题解题技巧 && 近六年PJ完善程序真题解析
    [NOIP 2012普及组 No.2] 寻宝
    [NOIP 2012普及组 No.1] 质因数分解
    [NOIP 2013普及组 No.4] 车站分级
    [NOIP 2013普及组 No.3] 小朋友的数字
    [NOIP 2013普及组 No.2] 表达式求值
    [NOIP 2013普及组 No.1] 计数问题
  • 原文地址:https://www.cnblogs.com/cjxxl1213/p/12728152.html
Copyright © 2011-2022 走看看