• 【程序13】打印出所有的“水仙花数”,运算符和表达式


    所谓“水仙花数”是指一个三位数,它的每个位上数字的立方和等于该数,例如:153=1³+5³+3³=1+125+27

    水仙花数只是自幂数的一种。
    其他自幂数为:
    一位自幂数:独身数
    两位自幂数:没有
    三位自幂数:水仙花数
    四位自幂数:四叶玫瑰数
    五位自幂数:五角星数
    六位自幂数:六合数
    七位自幂数:北斗七星数
    八位自幂数:八仙数
    九位自幂数:九九重阳数
    十位自幂数:十全十美数

    知识点:python运算符和表达式

    操作符及其用途

    操作符

    名称

    用途

    举例

    +

    使两操作数相加

    3 + 5 得到 8'a' + 'b' 得到 'ab'.

    -

    求出前后两数之差。若第一个操作数未写则默认为0。

    -5.2 得道一个负数, 50 - 24得到26

    *

    得出两数乘积或返回重复若干次的字符串。

    2 * 3得到6'la' * 3得到'lalala'.

    **

    返回x的y次幂。

    3 ** 4得到81 ( 3 * 3 * 3 * 3

    /

    将x除以y。

    4 / 3 得到 1.3333333333333333

    //

    取整除

    返回最大的整数商。

    4 // 3 得到 1

    %

    取模

    返回余数。

    8% 3 得到2。 -25.5% 2.25得到1.5.

    <<

    左位移

    将操作数向左移动若干bit位。(数字在内存中以二进制表示)

    2 << 2 得到 8。 2在二进制中表示为10 。左位移两bit位后得到1000,十进制中表示为8

    >>

    右位移

    将操作数向右移动若干bit位。

    11 >> 1得到5, 11二进制下表示为1011,右位移一位后得到101,十进制中表示为5

    &

    按位与

    数的按位与。

    5 & 3 得到 1

    |

    按位或

    数的按位或。

    5 | 3得到7

    ^

    按位异或

    数的按位异或。

    5 ^ 3得到6

    ~

    按位翻转

    x的按位翻转是-(x+1)。

    ~5得到-6

    <

    小于

    返回x是否小于y。所有比较运算符返回布尔值TrueFalse。请注意布尔值大小心敏感。

    5 < 3得到False3 < 5得到True.

    比较运算符可任意连接,如3 < 5 < 7得到True.

    >

    大于

    返回x是否大于y。

    5 > 3 得到True。如果两个操作符都是数字,解释器会将其转换到同一类型后再比较。若否则返回False

    <=

    小于等于

    返回x是否小于等于y。

    x = 3; y = 6; x <= y返回True

    >=

    大于等于

    返回x是否大于等于y。

    x = 4; y = 3; x >= 3得到True

    ==

    等于

    比较两操作数是否相等。

    x = 2; y = 2; x == y得到True

    x = 'str'; y = 'stR'; x == y得到False

    x = 'str'; y = 'str'; x == y得到True

    !=

    不等于

    比较两操作数是否不相等。

    x = 2; y = 3; x!= y得到True

    not

    布尔非

    若X为True则返回False,反之亦然。

    x = True; not x返回False

    and

    布尔与

    无论y值为何,若X为Falsex and y 返回False

    x = False; y = True; x and y由于x为False返回False。此例中Python因为已知and左值为False而不会计算整个布尔表达式,这是短路求值法

    or

    布尔或

    若x为True则返回True,否则返回y的布尔值。

    x = True; y = False; x or y返回True。布尔或同样使用短路求值。


    代码如下:

    for n in range(100,1000):
        i = n // 100
        j = n // 10 % 10
        k = n % 10
        if i * 100 + j * 10 + k == i ** 3+ j ** 3 + k ** 3:
            print("%d" % n)


  • 相关阅读:
    Django基础之cookie
    Django基础之redirect()
    Django基础之render()
    Django基础之JsonResponse对象
    Django基础之response对象
    scrapy框架自定制命令
    数据分析案例-拉勾网招聘信息
    爬虫之单线程多任务异步抓取
    数据分析之matplotlib使用
    数据分析之numpy使用
  • 原文地址:https://www.cnblogs.com/fanren224/p/8457269.html
Copyright © 2020-2023  润新知