zoukankan      html  css  js  c++  java
  • Python-数据运算

    算数运算

    Example:ArithmeticOperator.py

    #!/bin/env python
    # -*- coding:utf-8 -*-
    __author__ = 'Stephen'
    # set the initial value of a and b
    print("%s%s%s" % ("="*4, "start", "="*4))
    a = 3
    b = 2
    print("a=%s" % a)
    print("b=%s" % b)
    
    # start calculate
    print("%s%s%s" % ("="*4, "calculate", "="*4))
    
    # a+b
    print("a+b=%s" % (a+b))
    
    # a-b
    print("a-b=%s" % (a-b))
    
    # a*b
    print("a*b=%s" % (a*b))
    
    # a/b
    print("a/b=%s" % (a/b))
    
    # a%b
    print("a%%b=%s" % (a % b))
    
    # a**b
    print("a**b=%s" % (a**b))
    
    # end of the test
    print("%s%s%s" % ("="*4, "end", "="*4))
    

      运行结果:

    ====start====
    a=3
    b=2
    ====calculate====
    a+b=5
    a-b=1
    a*b=6
    a/b=1
    a%b=1
    a**b=9
    ====end====
    

      比较运算

     Example:ComparisonOperator.py

    #!/bin/env python
    # -*- coding:utf-8 -*-
    __author__ = 'Stephen'
    
    
    def num_compare(a, b):
        print("%s%s%s" % ("="*4, "start", "="*4))
        print("a=%s" % a)
        print("b=%s" % b)
        # start compare
        print("%s%s%s" % ("="*10, "compare", "="*10))
        # if a=b ?
        if a == b:
            # print(u"a等于b")
            print("a is equal to b")
        else:
            # print(u"a不等于b")
            print("a is NOT equal to b")
    
        # if a!=b ?, Type 1
        if a != b:
            # print(u"a不等于b")
            print("a is NOT equal to b")
        else:
            # print(u"a等于b")
            print("a is equal to b")
    
        # if a!=b ?, Type 2 --> (deprecated)
        # 这种写法即将被废弃
        if a <> b:
            # print(u"a不等于b")
            print("a is NOT equal to b")
        else:
            # print(u"a等于b")
            print("a is equal to b")
    
        # if a<b ?
        if a < b:
            # print(u"a小于b")
            print("a smaller than b")
        else:
            # print(u"a不小于b")
            print("a is NOT smaller than b")
    
        # if a>b ?
        if a > b:
            # print(u"a大于b")
            print("a is larger than b")
        else:
            # print(u"a不大于b")
            print("a is NOT larger than b")
    
        print("%s%s%s" % ("="*20, "end", "="*20))
    
    # Round 1
    num_compare(3, 2)
    # Round 2
    num_compare(2, 3)
    # Round 3
    num_compare(2, 2)
    

      运行结果

    ====start====
    a=3
    b=2
    ==========compare==========
    a is NOT equal to b
    a is NOT equal to b
    a is NOT equal to b
    a is NOT smaller than b
    a is larger than b
    ====================end====================
    ====start====
    a=2
    b=3
    ==========compare==========
    a is NOT equal to b
    a is NOT equal to b
    a is NOT equal to b
    a smaller than b
    a is NOT larger than b
    ====================end====================
    ====start====
    a=2
    b=2
    ==========compare==========
    a is equal to b
    a is equal to b
    a is equal to b
    a is NOT smaller than b
    a is NOT larger than b
    ====================end====================
    

     

    赋值运算

     Example:AssignmentOperator.py

    #!/bin/env python
    # -*- coding:utf-8 -*-
    __author__ = 'Stephen'
    
    
    def set_initial_value():
        # set the initial value of the numbers.
        print("%s%s%s" % ("="*4, "initial value start", "="*4))
        global a
        global b
        global c1
        global c2
        a = 3
        b = 2
        c1 = 10
        c2 = 10
        print("a=%s" % a)
        print("b=%s" % b)
        print("c1=%s" % c1)
        print("c2=%s" % c2)
        # print("%s%s%s" % ("="*4, "initial value end", "="*4))
    
    
    # Assignment Operator Test
    # 简单赋值运算
    set_initial_value()
    c1 = a + b
    print("c1 = a + b ====> %s" % c1)
    
    # 加法运算符
    set_initial_value()
    c1 += a
    c2 = c2 +a
    print("c1 += a ====> %s" % c1)
    print("c2 = c2 +a ====> %s" % c2)
    
    # 减法运算符
    set_initial_value()
    c1 -= a
    c2 = c2 -a
    print("c1 -= a ====> %s" % c1)
    print("c2 = c2 -a ====> %s" % c2)
    
    # 乘法运算符
    set_initial_value()
    c1 *= a
    c2 = c2 * a
    print("c1 *= a ====> %s" % c1)
    print("c2 = c2 * a ====> %s" % c2)
    
    
    # 除法运算符
    set_initial_value()
    c1 /= a
    c2 = c2 / a
    print("c1 /= a ====> %s" % c1)
    print("c2 = c2 / a ====> %s" % c2)
    
    # 取模运算符
    set_initial_value()
    c1 %= a
    c2 = c2 % a
    print("c1 %%= a ====> %s" % c1)
    print("c2 = c2 %% a ====> %s" % c2)
    
    # 幂赋值运算符
    set_initial_value()
    c1 **= a
    c2 = c2 ** a
    print("c1 **= a ====> %s" % c1)
    print("c2 = c2 ** a ====> %s" % c2)
    
    # 取整除运算符
    set_initial_value()
    c1 //= a
    c2 = c2 // a
    print("c1 //= a ====> %s" % c1)
    print("c2 = c2 // a ====> %s" % c2)
    

      运行结果:

    ====initial value start====
    a=3
    b=2
    c1=10
    c2=10
    c1 = a + b ====> 5
    ====initial value start====
    a=3
    b=2
    c1=10
    c2=10
    c1 += a ====> 13
    c2 = c2 +a ====> 13
    ====initial value start====
    a=3
    b=2
    c1=10
    c2=10
    c1 -= a ====> 7
    c2 = c2 -a ====> 7
    ====initial value start====
    a=3
    b=2
    c1=10
    c2=10
    c1 *= a ====> 30
    c2 = c2 * a ====> 30
    ====initial value start====
    a=3
    b=2
    c1=10
    c2=10
    c1 /= a ====> 3
    c2 = c2 / a ====> 3
    ====initial value start====
    a=3
    b=2
    c1=10
    c2=10
    c1 %= a ====> 1
    c2 = c2 % a ====> 1
    ====initial value start====
    a=3
    b=2
    c1=10
    c2=10
    c1 **= a ====> 1000
    c2 = c2 ** a ====> 1000
    ====initial value start====
    a=3
    b=2
    c1=10
    c2=10
    c1 //= a ====> 3
    c2 = c2 // a ====> 3
    

      

    逻辑运算

     Example:LogicalOperator.py

    #!/bin/env python
    # -*- coding:utf-8 -*-
    __author__ = 'Stephen'
    # Definition
    a = True
    b = False
    c = True
    d = False
    
    print("%s%s%s" % ("-"*10, "basic test start", "-"*10))
    # test and operator
    print("%s %s %s ====> %s" % (a, "and", b, a and b))
    print("%s %s %s ====> %s" % (a, "and", c, a and c))
    print("%s %s %s ====> %s" % (b, "and", c, b and c))
    print("%s %s %s ====> %s" % (b, "and", d, b and d))
    
    # test or operator
    print("%s %s %s ====> %s" % (a, "or", b, a or b))
    print("%s %s %s ====> %s" % (a, "or", c, a or c))
    print("%s %s %s ====> %s" % (b, "or", c, b or c))
    print("%s %s %s ====> %s" % (b, "or", d, b or d))
    
    # test not operator
    print("%s  %s ====> %s" % ("not", a, not a))
    print("%s  %s ====> %s" % ("not", b, not b))
    
    print("%s%s%s" % ("-"*10, "basic test end", "-"*10))
    
    print("%s%s%s" % ("-"*10, "number test start", "-"*10))
    # test number calculation
    # 0 ==> False
    # 非0 ==> True
    w = 0
    x = 2
    y = -1
    z = 0
    
    #
    print("%s %s %s ====> %s" % (x, "and", y, x and y))
    print("%s %s %s ====> %s" % (x, "and", z, x and z))
    print("%s %s %s ====> %s" % (x, "or", y, x or y))
    print("%s %s %s ====> %s" % (x, "or", z, x or z))
    print("%s %s %s ====> %s" % (w, "and", z, w and z))
    print("%s %s %s ====> %s" % (w, "and", x, w and x))
    print("%s %s %s ====> %s" % (w, "or", z, w or z))
    
    
    print("%s%s%s" % ("-"*10, "number test end", "-"*10))
    

      运行结果:

    ----------basic test start----------
    True and False ====> False
    True and True ====> True
    False and True ====> False
    False and False ====> False
    True or False ====> True
    True or True ====> True
    False or True ====> True
    False or False ====> False
    not  True ====> False
    not  False ====> True
    ----------basic test end----------
    ----------number test start----------
    2 and -1 ====> -1
    2 and 0 ====> 0
    2 or -1 ====> 2
    2 or 0 ====> 2
    0 and 0 ====> 0
    0 and 2 ====> 0
    0 or 0 ====> 0
    ----------number test end----------
    

      

    成员运算

    Example:MembershipOperator.py

    #!/bin/env python
    # -*-coding:utf-8-*-
    __author__ = 'Stephen'
    # Define a list.
    test_list = [1, 2, 3, 4, 5, 6]
    
    
    def test_in(item):
        if item in test_list:
            print("%s is a member of test_list %s" % (item, test_list))
        else:
            print("%s is NOT a member of test_list %s" % (item, test_list))
    
    
    def test_not_in(item):
        if item not in test_list:
            print("%s is NOT a member of test_list %s" % (item, test_list))
        else:
            print("%s is a member of test_list %s" % (item, test_list))
    
    
    # Test
    print("%s%s%s" % ("-"*10, "in test", "-"*10))
    test_in(4)
    test_in(7)
    print("%s%s%s" % ("-"*10, "not in test", "-"*10))
    test_not_in(4)
    test_not_in(7)
    

      运行结果:

    ----------in test----------
    4 is a member of test_list [1, 2, 3, 4, 5, 6]
    7 is NOT a member of test_list [1, 2, 3, 4, 5, 6]
    ----------not in test----------
    4 is a member of test_list [1, 2, 3, 4, 5, 6]
    7 is NOT a member of test_list [1, 2, 3, 4, 5, 6]
    

      

    身份运算

     Example:IdentityOperator.py

    #!/bin/env python
    # -*-coding:utf-8-*-
    __author__ = 'Stephen'
    
    
    print("%s%s%s" % ("-"*10, "number test", "-"*10))
    x = 2
    y = 2
    z = 3
    print("x = %s" % x)
    print("y = %s" % y)
    print("z = %s" % z)
    
    if x is y:
        print "x is y"
        print("id(x) ====> %s" % id(x))
        print("id(y) ====> %s" % id(y))
    else:
        print "x is NOT y"
        print("id(x) ====> %s" % id(x))
        print("id(y) ====> %s" % id(y))
    
    if x is z:
        print "x is z"
        print("id(x) ====> %s" % id(x))
        print("id(z) ====> %s" % id(z))
    else:
        print "x is NOT z"
        print("id(x) ====> %s" % id(x))
        print("id(z) ====> %s" % id(z))
    
    
    print("%s%s%s" % ("-"*10, "string test", "-"*10))
    
    a = "hello"
    b = "hello"
    c = "world"
    print("a = %s" % a)
    print("b = %s" % b)
    print("c = %s" % c)
    
    if a is b:
        print "a is b"
        print("id(a) ====> %s" % id(a))
        print("id(b) ====> %s" % id(b))
    else:
        print "a is NOT b"
        print("id(a) ====> %s" % id(a))
        print("id(b) ====> %s" % id(b))
    
    if a is c:
        print "a is c"
        print("id(a) ====> %s" % id(a))
        print("id(c) ====> %s" % id(c))
    else:
        print "a is NOT c"
        print("id(a) ====> %s" % id(a))
        print("id(c) ====> %s" % id(c))
    

      运行结果:

    ----------number test----------
    x = 2
    y = 2
    z = 3
    x is y
    id(x) ====> 5045844
    id(y) ====> 5045844
    x is NOT z
    id(x) ====> 5045844
    id(z) ====> 5045832
    ----------string test----------
    a = hello
    b = hello
    c = world
    a is b
    id(a) ====> 36823552
    id(b) ====> 36823552
    a is NOT c
    id(a) ====> 36823552
    id(c) ====> 36823616
    

      

    位运算

    Example:BitwiseOperator.py

    #!/bin/env python
    # -*- coding:utf-8 -*-
    __author__ = 'Stephen'
    # set the initial value of a and b
    print("%s%s%s" % ("="*4, "start", "="*4))
    a = 254            # 254 = 1111 1110
    b = 192            # 192 = 1100 0000
    c = 0
    print("a=%s,binary:%s" % (a, bin(a)))
    print("b=%s,binary:%s" % (b, bin(b)))
    
    # Test
    print("%s%s%s" % ("-"*20, "Test Start", "-"*20))
    
    c = a & b
    print("c = a & b ====> %s , binary: %s" % (c, bin(c)))
    
    c = a | b
    print("c = a | b ====> %s , binary: %s" % (c, bin(c)))
    
    c = a ^ b
    print("c = a ^ b ====> %s , binary: %s" % (c, bin(c)))
    
    c = ~a
    print("c = ~a ====> %s , binary: %s" % (c, bin(c)))
    
    c = a << 2
    print("c = a << 2 ====> %s , binary: %s" % (c, bin(c)))
    
    c = a >> 2
    print("c = a >> 2 ====> %s , binary: %s" % (c, bin(c)))
    
    print("%s%s%s" % ("-"*20, "Test End", "-"*20))
    

      运行结果:

    ====start====
    a=254,binary:0b11111110
    b=192,binary:0b11000000
    --------------------Test Start--------------------
    c = a & b ====> 192 , binary: 0b11000000
    c = a | b ====> 254 , binary: 0b11111110
    c = a ^ b ====> 62 , binary: 0b111110
    c = ~a ====> -255 , binary: -0b11111111
    c = a << 2 ====> 1016 , binary: 0b1111111000
    c = a >> 2 ====> 63 , binary: 0b111111
    --------------------Test End--------------------
    

      

    运算符优先级

    Example: ArithmeticOperatorPriority.py

    #!/bin/env python
    # -*- coding:utf-8 -*-
    __author__ = 'Stephen'
    
    
    a = 12
    b = 3
    c = 4
    d = 2
    res = 0
    
    res = (a + b) * c / d
    print("(%d + %d) * %d / %d ====> %d" % (a, b, c, d, res))
    
    e = ((a + b) * c) / d
    print("((%d + %d) * %d) / %d ====> %d" % (a, b, c, d, res))
    
    e = (a + b) * (c / d)
    print("(%d + %d) * (%d / %d) ====> %d" % (a, b, c, d, res))
    
    e = a + (b * c) / d
    print("%d + (%d * %d) / %d ====> %d" % (a, b, c, d, res))
    

      运行结果:

    (12 + 3) * 4 / 2 ====> 30
    ((12 + 3) * 4) / 2 ====> 30
    (12 + 3) * (4 / 2) ====> 30
    12 + (3 * 4) / 2 ====> 30
    

      

  • 相关阅读:
    String StringBuffer StringBuilder 三者的区别
    叶正盛:再次写给我们这些浮躁的程序员
    ubuntu中eclipse无法识别android手机问题
    Android 源代码结构
    sqlite3_open_v2(“/data/data/com.android.packagename/databases/dump.sqlite”, &handle, 1, NULL) failed
    新浪天气预报API
    在Android上常用的定时器 AlarmManager
    [转]#ifdef __cplusplus与extern "C"的解释
    [转]char *p="1234567890"以及C/C++的内存
    C语言中,为什么字符串可以赋值给字符指针变量
  • 原文地址:https://www.cnblogs.com/thatsit/p/5828141.html
Copyright © 2011-2022 走看看