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
    
  • 相关阅读:
    关于闹钟的题
    【历史】- UNIX发展史(BSD,GNU,linux)
    使用EF操作Mysql数据库中文变问号的解决方案
    javascript方法的方法名慎用close
    使用VS2013 + EF6 + .NET4.5 连接Mysql数据库
    ADO.NET生成的数据库连接字符串解析
    在WebBrowser控件使用js调用C#方法
    Mysql数据库之auto_increment
    Visual Studio插件Resharper 2016.1 及以上版本激活方法【亲测有效】
    Windows下Mysql5.7开启binlog步骤及注意事项
  • 原文地址:https://www.cnblogs.com/wanbin/p/9514706.html
Copyright © 2011-2022 走看看