输出所有的"水仙花数".所谓"水仙花数"是指这样的一个三位数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=3^3+7^3+1^3.
无
输出所有的"水仙花数"(从小到大的顺序输出,一行一个)
无
无
num = 100 # 初始化变量 num 的值为 100
while num < 1000: # 当 num 小于 1000 时执行循环体内的代码
if num == int(str(num)[0])**3 + int(str(num)[1])**3 + int(str(num)[2])**3:
# 如果 num 的百位、十位和个位上的数字立方和等于 num 本身,则输出 num
print(num)
num += 1 # 将 num 的值加 1,继续下一次循环
else:
num += 1 # 将 num 的值加 1,继续下一次循环
continue # 跳过当前循环中的剩余语句,并开始下一次循环
这段代码是一个简单的 Python 程序,用于查找所有的水仙花数并输出。下面是对代码的详细解析:
num = 100
num
的值为 100。while num < 1000:
num < 1000
,即当 num
的值小于 1000 时执行循环体内的代码。if num == int(str(num)[0])**3 + int(str(num)[1])**3 + int(str(num)[2])**3:
num
是否等于各个位数上的数字立方和。str(num)
将整数类型的 num
转换为字符串类型。int(str(num)[0])
、int(str(num)[1])
、int(str(num)[2])
分别表示 num
的百位、十位和个位上的数字。**
运算符表示乘方操作,x**3
表示将 x 的立方作为结果。print(num)
num
是水仙花数,则打印输出 num
。num += 1
num
的值加 1。else:
num
不是水仙花数,则执行下面的代码块。num += 1
num
的值加 1。continue
continue
语句用于跳过当前循环中的剩余语句,并开始下一次循环。因此,这段代码的作用是:从 100 到 999 的所有三位数中,找出所有的水仙花数并输出。
以下是对代码中每行语句的解释:
num = 100
num
的值为 100。while num < 1000:
num < 1000
,即当 num
的值小于 1000 时执行循环体内的代码。if num == int(str(num)[0])**3 + int(str(num)[1])**3 + int(str(num)[2])**3:
num
是否等于各个位数上的数字立方和。str(num)
将整数类型的 num
转换为字符串类型。int(str(num)[0])
、int(str(num)[1])
、int(str(num)[2])
分别表示 num
的百位、十位和个位上的数字。**
运算符表示乘方操作,x**3
表示将 x 的立方作为结果。print(num)
num
是水仙花数,则打印输出 num
。num += 1
num
的值加 1。else:
num
不是水仙花数,则执行下面的代码块。num += 1
num
的值加 1。continue
continue
语句用于跳过当前循环中的剩余语句,并开始下一次循环。以下是一些 Python 基础知识点的解释:
while
循环:while
循环用于重复执行一段代码,直到指定的条件不再满足为止。循环条件通常是一个布尔表达式,如果该表达式的值为 True
,则执行循环体内的代码,否则跳出循环。
if
、elif
和 else
。它们用于根据不同的条件执行不同的代码。如果条件成立,则执行 if
或 elif
后面的代码块;否则执行 else
后面的代码块。
'hello'
和 "world"
都是字符串。
[]
来获取字符串中指定位置的字符。例如,s[0]
表示字符串 s
的第一个字符,s[1]
表示第二个字符,以此类推。
int()
函数:int()
函数用于将字符串或浮点数转换为整数类型。例如,int('123')
的结果为整数 123。
print()
函数:print()
函数用于打印输出。它可以接受多个参数,用逗号分隔。例如,print('hello', 'world')
将同时打印出字符串 'hello'
和 'world'
。
+=
运算符:+=
运算符用于将左侧操作数的值加上右侧操作数的值,并将结果赋值给左侧操作数。例如,a += 1
等价于 a = a + 1
。
continue
语句:continue
语句用于跳过当前循环中的剩余语句,并开始下一次循环。
再接再厉,接着让我们来练下一题!