zoukankan      html  css  js  c++  java
  • 零基础入门学习Python(6)--Python之常用操作符

    前言

    Python当中常用操作符,有分为以下几类。幂运算(**),正负号(+,-),算术操作符(+,-,*,/,//,%),比较操作符(<,<=,>,>=,==,!=),逻辑运算符(not,and,or)。

    操作符介绍

    • 幂运算(**)
    >>> 3 ** 3
    27
    • 正负号(+,-)
    幂运算的优先级比较特殊,
    因为幂操作进行运算的时候,他和一元操作符的运算关系比较暧昧,减号(-)当作负号(-)来使用时,他是一元操作符,表示负数。
    幂操作符比其左边的操作符优先级高,比起右边的优先级低。例如:
    >>> -3 ** 2
    -9
    >>> -(3 ** 2)
    -9
    
    >>> 3 ** -2
    0.1111111111111111
    >>> 3 ** (-2)
    0.1111111111111111
    • 算术操作符(+,-,*,/,//,%)
    算术操作符中,a = a + 5 可以写成 a + = 5,其他算数操作符也适用,例如:
    >>> a = b = c = d = 10
    >>> a += 1
    >>> b -= 3
    >>> c *= 10
    >>> d /= 8
    >>> a
    11
    >>> b
    7
    >>> c
    100
    >>> d
    1.25
    
    '//' 表示floor除
    >>> 3 // 2
    1
    >>> 3.2 // 2.0
    1.0
    >>> 3.2 // 2
    1.0
    
    '%' 表示求余数
    >>> 9 % 2
    1
    >>> 9 % 7
    2
    • 比较操作符(<,<=,>,>=,==,!=)
    根据表达式的值真假来返回bool类型的值,例如:
    >>> 1 < 2
    True
    >>> 3 > 4
    False
    >>> 2 == 2
    True
    >>> 2 != 2
    False
    • 逻辑运算符(not,and,or)
    逻辑运算符的优先级是不同的,not > and > or,例如:
    >>> not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
    4
    等价于加上括号之后的:
    >>> (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
    4

    操作符优先级

    操作符优先级

    练练手

    temp = input('请输入一个年份:')
    while not temp.isdigit():
        temp = input("抱歉,您的输入有误,请输入一个整数:")
    
    year = int(temp)
    if year%400 == 0:
        print(temp + ' 是闰年!')
    else:
        if (year%4 == 0) and (year%100 != 0):
            print(temp + ' 是闰年!')
        else:
            print(temp + ' 不是闰年!')
    
    • 写一个程序打印出0 ~ 100所有的奇数
    i = 0
    while i<= 100:
        if i % 2 != 0:
            print(i,end=' ')
            i += 1
        else:
            i += 1
    
    • 爱因斯坦的难题
      这里写图片描述
    i = 1
    x = 7
    flag = 0
    while i<=100:
        if (x%2 ==1) and (x%3 ==2) and (x%5 ==4) and (x%6 ==5):
            flag = 1
        else:
            x = 7 * (i + 1)
        i += 1
    if flag == 1:
        print('阶梯数是:',x)
    else:
        print('在程序限定范围内找不到答案!')
    
    ------------------------------------------------------------------------------------------------
    x = 0
    while 1:
        if (x%2 ==1) and (x%3 ==2) and (x%5 ==4) and (x%6 ==5) and (x%7 ==0):
            print('阶梯数是:',x)
            break
        else:
            x += 1
    
  • 相关阅读:
    [DB] 数据库的连接
    JS leetcode 翻转字符串里的单词 题解分析
    JS leetcode 拥有最多糖果的孩子 题解分析,六一快乐。
    JS leetcode 搜索插入位置 题解分析
    JS leetcode 杨辉三角Ⅱ 题解分析
    JS leetcode 寻找数组的中心索引 题解分析
    JS leetcode 移除元素 题解分析
    JS leetcode 最大连续1的个数 题解分析
    JS leetcode 两数之和 II
    JS leetcode 反转字符串 题解分析
  • 原文地址:https://www.cnblogs.com/wanbin/p/9514706.html
Copyright © 2011-2022 走看看