零基础入门学习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
posted @ 2018-02-05 15:00  DB-Engineer  阅读(170)  评论(0编辑  收藏  举报