零基础入门学习Python(6)-常用操作符

算术操作符

+- * /(真实除法) %(取余数) ** //(整除)
在Python中,可以这样写:a = a + 3等同于a += 3
在这里插入图片描述
也可以这样子: a = b = c = d = 10
Python3 的除法已经变成真实的除法,即会返回一个浮点型的值
在这里插入图片描述
//执行的是地板除法,即返回比商小的整数
在这里插入图片描述
%:取余数
在这里插入图片描述
**指数运算操作符
在这里插入图片描述

比较操作符

根据表达式的真假来返回布尔类型的值
<; <=;>; >=; ==; !=

逻辑操作符

and:当其左侧和右侧同时为True时,其结果才为True;左右边只要有一个False,结果就为False
or:只需要左边或者右边为True时,结果才为True;只有两边同时为False时,结果才为False
not:一元操作符,取其相反的布尔类型的值
非0的数都为True
在这里插入图片描述

在这里插入图片描述
在Python中,3<4<5等同于(3<4)and (4<5)

优先级问题

当一个表达式同时存在多个运算符时,就可能存在优先级问题,先乘除后加减 ,比较操作符要比逻辑操作符高,必要时要增加()以增加代码的可读性
在这里插入图片描述
**指数操作符要比其左侧一元运算符的优先级高,但比其右侧的一元运算符的优先级低
如下图
在这里插入图片描述
幂运算(**)>正负号(+ - )>算术操作符(+ - * / //)>比较操作符(<; <=;>; >=; ==; != >)逻辑运算符(not; and; or)
not > and > or

Task

  1. Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
    1

  2. a < b < c 事实上是等于?
    (a<b)and (b<c)

  3. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?

0.04
3. 如何简单判断一个数是奇数还是偶数?
取余数判断%

while 1:#保证程序可以运行n次
    number = input("请输入一个非0的数:")
    a = int(number)
    b = a % 2
    if b == 1:
        print("是奇数")
    else:
        print('是偶数')

在这里插入图片描述

  1. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
    ((not 1)or 0) and (1 or 3) and (4 or 5) and (6 or 7) and (8 or 9)= 0 and 1 and 4 and 6 and 8 = 0(错了)
    (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)= 0 or 0 or 4 or 6 or 9=4
    短路逻辑:3 and 4 == 4 ,而 3 or 4 == 3
  2. 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?
    看整除与真实除法是否相等if int(a/400) == a/400
    用取余数的方法:
year = input('请输入一个年份:')
while year.isdigit() == 1:
    a = int(year)
    b = a % 400
    c = a % 4
    d = a % 100 
    if b == 0:
        print('闰年')
    else:
        if c == 0 and d != 0:
            print('闰年')
        else:
            print("不是闰年")
    year = input('请输入一个年份:')
if year.isdigit() == 0:
    print('输入不合法') 
    year = input('要输入整数哦:')
    while year.isdigit() == 1:
        a = int(year)
        b = a % 400
        c = a % 4
        d = a % 100
        if b == 0:
            print('闰年')
        else:
            if c == 0 and d != 0:
                print('闰年')
            else:
                print("不是闰年")
        year = input('请输入一个年份:')

在这里插入图片描述
6.请写一个程序打印出 0~100 所有的奇数。

print('0-100内的所有奇数:')
i = 0
while i <= 100:
    if i % 2 == 1:
        print(i)
        i = i + 1
    else:
        i += 1

在这里插入图片描述
7. 我们说过现在的 Python 可以计算很大很大的数据,但是…真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
在这里插入图片描述
8.爱因斯坦的难题
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
(小甲鱼温馨提示:步子太大真的容易扯着蛋~~~)请编程求解该阶梯至少有多少阶?

小甲鱼代码:

x = 7
i = 1
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) # 根据题意,x一定是7的整数倍,所以每次乘以7
    i += 1

if flag == 1:
    print('阶梯数是:', x)
else:
    print('在程序限定的范围内找不到答案!')

猜你喜欢

转载自blog.csdn.net/qq_44520665/article/details/112594537