A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


    5月16日我终于来杭州传智黑马程序员python基础班报道了!
    第一天班主任就让我们做自我介绍,很激动又恨胆怯.通过前面一轮的介绍我发现我们还真的是藏龙卧虎.有和我一样从事着不景气的行业破釜沉舟转行的,也有科班出身觉得自己学的不好来提升自我的,更有那种销售大咖想来挑战自我的.
每个人都有着各自不同的目的与使命,大家缘分般地走到了一起.
    目前已学习了Python半个月,主要学习了变量,函数,if语法,elif语法,while语法,面向对象等知识重点.使我印象最深刻的是一个关于水仙花的题目,以下我就专门介绍一下该题另外一种解题思想:
    打印出100到999的水仙花数

所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1*1*1 + 5*5*5 + 3*3*3

一般的人碰到这题就会这样做:
    for n in range(100, 999):
    n1 = n // 100
    n2 = (n // 10) % 10
    n3 = n % 10
    if n == n1 ** 3 + n2 ** 3 + n3 ** 3:
        print(n)

大家一般情况肯定根据题意考虑取余取整来做此题,但是十位数取100还是取10容易混淆,接下来我们介绍一种简便的方法:
    for n in range(100, 999):
    str1 = str(n)
    n1 = int(str1[0])
    n2 = int(str1[1])
    n3 = int(str1[2])
    if n == n1 ** 3 + n2 ** 3 + n3 ** 3:
        print(n)

此题我们用到了变量类型字符串的定义: 根据题意我们可将数字153转化为"153",这样我们解题就很容易了.
以后我们碰到了此类的题目,就可以利用学到的知识更加灵活方便快捷地解题,帮助我们更好理解.


1 个回复

倒序浏览
加油,就业班见!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马