Linux 与 Python编程2021 学习-Python循环结构之for…else…之寻找水仙花数 educoder实训

学习-Python循环结构之for…else…之寻找水仙花数

任务描述

本关任务:给定一个整数 n,判断 n 以内的正数是否含有水仙花数。水仙花数是指一个 3 位的整数,它的每个位上的数字的 3 次幂之和等于它本身。

相关知识

针对本关任务,我们可以直接使用循环结构和分支结构语句相配合完成,不过,在这里,将介绍 for-else 语句来完成本关任务。

for-else
for-else 语句是 for 循环的一种,它和 break 语句一起使用时才能显示出 else 的作用。下面给出了两个使用 for-else 的例子及其执行结果。

for i in range(10):
if i == 5:
print( ‘found it! i = %s’ % i)
else:
print(‘not found it’)
执行结果:

found it! i = 5
not found it
这段代码中,在i=5时使用了break结束了循环
for i in range(10):
if i == 5:
print( ‘found it! i = %s’ % i)
break
else:
print(‘not found it’)
执行结果:

found it! i = 5
从上述两段代码的运行结果可知,第一段代码并没有使用 break 语句,循环是完整的进行完了的,所以 else 语句中的代码运行了,而在第二段代码中,在 i=5 时使用了 break 结束了循环,所以 else 语句中的代码并没有执行。可以发现,如果循环在运行过程中被中断,则 else 语句不会执行。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。格式化输出的具体要求请查看测试集的预期输出。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。

开始你的任务吧,祝你成功!

代码

"""
任务:给定一个整数 n,判断 n 以内的正数是否含有水仙花数,n 通过 input 获取;
如果有,输出“有水仙花数”,如果没有,则输出“没有水仙花数”。
"""
 
# 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
########## Begin ##########
# 使用for-else判断 n 以内的正数是否含有水仙花数
n = int(input())
for i in range(100,n):
    x = int(i/100)
    y = int(i/10) - x*10
    z = i - x*100 - y*10
    H=pow(x,3)+pow(y,3)+pow(z,3)
    if H==i:
        print('有水仙花数')
        break
else:
    print('没有水仙花数')
########## End ##########

educoder Linux与Python编程2021 答案
https://blog.csdn.net/u014708644/category_11465058.html

猜你喜欢

转载自blog.csdn.net/u014708644/article/details/121257653