|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- def Fnum():
- for each in range(100,999):
- temp = each #这里为什么要 temp = each 下面直接用while 判断each的值不行么 为什么
- num = 0
- while temp:
- num =num + (temp % 10) ** 3
- temp = temp // 10
- if num == each:
- print(each,end="\t")
- print("所有水仙花数分别是:",end=" ") #这里 所有水仙花数是怎么传递进这个print里面的?
- Fnum()
复制代码
我试了 如果直接判断 while each: 那样 的不到水仙花数 问题应该出在下面 if num == each: 这个判断上 是这样么 但是没看懂
def Fnum():
for each in range(100,999):
temp = each #temp = each是因为下边要用地板除处理temp这个数字,如果直接用eachle,处理完后each数值变了,如果符合条件,没法再回过头来打印出来,所以用了个temp担当下临时桥梁过度下
num = 0
while temp:
num =num + (temp % 10) ** 3
temp = temp // 10
if num == each:
print(each,end="\t")
print("所有水仙花数分别是:",end=" ") #这里所有水仙花数没有传递进来,就是单纯打印一句话,但是下一句Fnum()函数里边(也就是上一句)会打印出符合条件的数字来,正好打印在这句话后边,构成的假象。
Fnum()
|
|