zoukankan      html  css  js  c++  java
  • Python赋值运算及流程控制

    1. 内置函数

      1> len:统计元素长度

    str1 = 'wonderful'
    print(len(str1))
    result:
    9
    
     
    li = [1,2,3]
    print(len(li))
    result:
    3
    
    
    info = {'name':'zxj','age':23}
    print(len(info))
    result:
    2

      2> in:判断某元素是否在某种类型内,与之相反为 not in。均返回布尔值。

    a='westlife'
    print('e' in a)
    result:
    True
    
    
    a='westlife'
    print('d' in a)
    result:
    False
    
    
    a='westlife'
    print('d' not in a)
    result:
    True
    
     
    a='westlife'
    print('e' in a)
    result:
    False

     

    2. 基本运算符

    运算符

    描述

    实例

    +

    两个对象相加,对象可以是数字、列表、字符串等

    a=20,b=10,a+b输出结果为30

    -

    一个数减去另外一个数

    a-b输出结果为10

    *

    乘,数与数、字符串与数可以相乘

    a*b输出结果为200

    /

    a/b输出结果为2

    %

    取余(模)

    a%b输出结果为0

    **

    高阶幂

    2**3输出结果为8

    //

    取整除,取商的整数

    9//2输出结果为4

      +支持数字、字符串、列表等对象相加:

    l1 = [1,2,3]
    l2 = [1,2,4]
    print(l1+l2)
    result:
    [1,2.3,1,2,4]

      不同类型之间的转换,如将列表转换为集合、元组:

    l1 = [1,2,3]
    l2 = set(l1)
    l3 = tuple(l1)
    print(type(l1))
    print(type(l2))
    print(type(l3))
    result:
    <class 'list'>
    <class 'set'>
    <class 'tuple'>

     

    3. 比较运算符

    运算符

    描述

    实例

    = =

    等于,比较对象是否相等

    a==b返回False

    !=

    不等于,比较两个对象是否不相等

    a!=b返回True

    < >

    不等于,比较两个对象是否不相等

    类似!=

    大于

    a>b返回True

    小于

    a<b返回False

    >=

    大于等于

    a>=b返回True

    <=

    小于等于

    a<=b返回False

     

    4. 赋值运算符

    运算符

    描述

    实例

    =

    赋值运算符

    c=a+b,将a+b的结果赋值给c

    +=

    加法赋值运算符

    c+=a等效于c=c+a

    -=

    减法赋值运算符

    c-=a等效于c=c-a

    *=

    乘法赋值运算符

    c*=a等效于c=c*a

    /=

    除法赋值运算符

    c/=a等效于c=c/a

    %=

    取余赋值运算符

    c%=a等效于c=c%a

    **=

    幂赋值运算符

    c**=a等效于c=c**a

    //=

    取整除赋值运算符

    c//=a等效于c=c//a

     

    5. 身份运算符

      is:is与比较运算符==不同的是,is比较的是id是否相等,即比较内存地址是否一致,= =仅比较两个值是否相等。

    a=10
    b=10.0
    print(a==b)
    print(a is b)
    result:
    True
    False

      一个内存地址可以对应多个变量,一个变量只能对应一个内存。

     

    6. 逻辑运算符

    运算符

    描述

    实例

    and

    布尔“与”,前后为真才为真

    a为真,b为真,a and b 为真;

    a为真,b为假,a and

    b为假。

    or

    布尔“或”,前后为假才为假

    a为假,b为假, a or b为假;

    a为真,b为假,a or b 为真。

    not

    布尔“非”,非真为假,非假为真

    a为真,not a为假;

    b为假,not b 为真。

     

    7. 流程控制

      Python语法以缩进来分层,缩进4个空格(Tab)表示内一层。

    7.1 if语句

    格式:

      if 条件语句:

                  执行的代码1

           elif 执行的代码2:

      else:

                  执行的代码块3

     

      None、0、空(‘’),则条件为假,其余条件为真。if后条件为真则执行代码1,条件为假则执行else后的代码3。注意:空格不为空。

    if 2 :
        print('')
    else :
        print('')
    result:
    真

      if条件支持or、and、not等逻辑书写。

    7.2  while循环

      格式:

             while 条件:

                    循环体

      条件为真则循环体执行,执行完后重新判断条件。

      条件为假则循环体不执行。

      break:跳出循环;

      continue:跳出本次循环后继续执行循环;

      pass:占位。占据当前位置,当不确定循环体如何设计时可以先用pass占位,保证语法格式。

    #打印10以内的偶数
    #方法一:
    i = 0
    while i< 11:
        print(i)
        i +=2
     
    
    #方法二:
    i = 0
    while i < 11 :
        if  i % 2 == 0:
            print(i)
        i +=1
    
    result:
    0 2 4 6 8 10 count = 0 while count <=5: count +=1 if count ==3 : continue print("loop" , count) result: loop 1 loop 2 loop 4 loop 5 loop 6 count = 0 while count <=5: count +=1 if count ==3 : break print("loop" , count) result: loop 1 loop 2 count = 0 while count <=5: count +=1 if count ==3 : pass print("loop" , count) result: loop 1 loop 2 loop 3 loop 4 loop 5 loop 6

      while……..else……..:循环体执行完成后执行else后面的语句。

       练习:写一个猜拳小游戏

    import random                   #调用random模块,生成随机数
    win = 0
    lose = 0
    ping = 0
    while True:
        print('=====欢迎来猜拳=====')
        print('胜:{}   败:{}   平:{}'.format(win, lose, ping))
        print('1.石头   2.剪刀   3.布   4.退出')
        computer = random.choice(['石头','剪刀',''])
        hum = input('==>:')
        
      #赢
    if (hum == '1' and computer == '剪刀') or (hum == '2' and computer =='') or (hum == '3' and computer == '石头'): print('挺牛逼!') win += 1 #输 elif hum == '3' and computer == '剪刀' or hum == '1' and computer =='' or hum == '2' and computer == '石头': print('菜鸡!') lose += 1 #平 elif hum == '2' and computer == '剪刀' or hum == '3' and computer =='' or hum == '1' and computer == '石头': print('不要走,决战到天亮') ping += 1 elif hum == '4': break else: print('别瞎输入!!') print() #打印空行
    result:
    =====欢迎来猜拳===== 胜:0 败:0 平:0 1.石头 2.剪刀 3.布 4.退出 ==>:1 菜鸡! =====欢迎来猜拳===== 胜:0 败:1 平:0 1.石头 2.剪刀 3.布 4.退出 ==>:2 不要走,决战到天亮 =====欢迎来猜拳===== 胜:0 败:1 平:1 1.石头 2.剪刀 3.布 4.退出 ==>:2 不要走,决战到天亮 =====欢迎来猜拳===== 胜:0 败:1 平:2 1.石头 2.剪刀 3.布 4.退出 ==>:3 菜鸡! =====欢迎来猜拳===== 胜:0 败:2 平:2 1.石头 2.剪刀 3.布 4.退出 ==>:4

      Python可以通过命令pyinstaller将语句导出为.exe程序,pyinstaller可以在pycharm的终端通过pip安装。

      在终端使用pyinstaller -F 导出为exe程序。导出文件必须在虚拟环境下。

    (yunwei) E:Learningpython>pyinstaller -F game.py
    171 INFO: PyInstaller: 3.4
    172 INFO: Python: 3.6.8
    …….
    29666 INFO: Appending archive to EXE E:Learningpythondistgame.exe
    29680 INFO: Building EXE from EXE-00.toc completed successfully.

      找到该文件,双击运行

    7.3 for循环

      格式:

             for 变量 in range(start,end,step):

                    循环体

           range(start,end,step)顾头不顾尾,即范围能取到start,取不到end,只能取到end的前一位。数字范围默认start为0,可以省略;step为步长,在start~end的范围间隔step取值。

           for循环将可迭代对象变成了迭代器类型,因此可以遍历字符串、列表、元组、字典等。

    #打印1到5
    or i in range(6):
        print(i)
    result:
    0
    1
    2
    3
    4
    5
    
    
    #打印10以内的偶数
    for i in range(0,11,2):
       print(i)
    result:
    1
    2
    4
    6
    8
    10
    
    #遍历列表
    l1 = [1,2,3,4]
    for i in l1:
        print(i)
    result:
    1
    2
    3
    4
     
    #遍历元组
    l1 = (1,2,3,4)
    for i in l1:
        print(i)
    result:
    1
    2
    3
    4
     
    #遍历字符串
    l1 = 'zxj'
    for i in l1:
        print(i)
    result:
    z
    x
    j
    
    #遍历字典,默认循环的key值
    l1 = {'name':'言念君子','chara':'温润如玉'}
    for i in l1:
        print (i)
    result:
    name
    chara
     
    #循环value:
    l1 = {'name':'言念君子','chara':'温润如玉'}
    for i in l1.values():
        print (i)
    result:
    言念君子
    温润如玉
    
    #循环key、value键值对
    l1 = {'name':'言念君子','chara':'温润如玉'}
    for i in l1.items():
        print (i)
    result:
    ('name', '言念君子')
    ('chara', '温润如玉')
     
    #分别循环key、value
    l1 = {'name':'言念君子','chara':'温润如玉'}
    for i,k in l1.items():
        print (i,k)
    result:
    name 言念君子
    chara 温润如玉
  • 相关阅读:
    非线性数据结构——树
    排序算法之插入排序
    web框架之environment处理
    web开发之http和wsgi
    python os模块和shutil模块
    python路径操作
    stringIO和bytesIO
    python文件操作
    设计模式
    设计模式
  • 原文地址:https://www.cnblogs.com/ajunyu/p/10955142.html
Copyright © 2011-2022 走看看