|
发表于 2020-10-12 12:28:55
|
显示全部楼层
本楼为最佳答案
本帖最后由 kylin121380 于 2020-10-12 12:33 编辑
- for i in range(100, 1000):
- sum = 0 # 用来记录每个数个十百三位的三次方的和
- temp = i # temp赋值i
- while temp: # 当temp不等于0时,进行循环
- sum = sum + (temp%10) ** 3 # temp为三位数,此时sum的值为个位的三次方
- temp //= 10 # temp地板除,消除个位变成两位数,三次之后temp为0,跳出while循环
- if sum == i: # 为水仙花数,print
- print(i)
复制代码- print('red\tyellow\tgreen')
- # 红黄各3,绿6,从中取8个球,绿球最少为2个,因为红黄都取也只有6个,因此确定范围,红球可以是0-3,黄球0-3,绿球2-6
- for red in range(0, 4): # for循环,红球从0个开始,直至3
- for yellow in range(0, 4): # for循环,黄球从0个开始,直至3
- for green in range(2, 7): # for循环,绿球从2个开始,直至6
- if red + yellow + green == 8: # 第一次循环,红0,黄0,绿2,!=8,没有输出,进入下一个循环——>红0,黄0,绿3,不符合,下一个,直至完成所有组合,将符合的结果输出
- # 注意,下边不是字符串拼接,因此不用“+”哦~
- print(red, '\t', yellow, '\t', green)
复制代码 |
|