×

python水仙花数的编程

python水仙花数的编程(萌新刚学python,求水仙花数,请问哪里写错了吗)

admin admin 发表于2023-08-01 05:59:02 浏览53 评论0

抢沙发发表评论

本文目录

萌新刚学python,求水仙花数,请问哪里写错了吗

题主你好,

你的代码问题有两处,

1.在最后一句:

    num += 1

这一句的缩进应该和if相同, 因为如果将 num += 1放到if下, 则只有if条件满足了, num才能加上1, 如果if条件不满足,则就成了死循环了.

举例, 就拿第1个数,100,来说吧, 因为100不等于1^3+0^3+0^3,所以100这个数在执行if语句时, 条件是不成立的, 因为if下的print()语句和num+=1都不会执行, 这样下一次循环时,num还是100, 而不是我们期望的101, 所以要把num += 1的缩进和if相同, 也就是无论if条件是否满足,我们都要给num加上1.

2.倒数第2句的print(list(num)), 要改成print(num)

代码及测试截图如下:

--------------------

另外, 我们题主的代码中的print()语句中用了列表函数, 猜测题主可能想要将结果以列表的形式输出, 代码及测试截图如下:

图中我已将和题主原代码不同的地方框选出来了,供参考.

-----

希望可以帮到题主, 欢迎追问.

python程序的功能是输入一个三位数,判断是否是水仙花数

#-*-coding:utf-8;-*- n=int(input(’请输入水仙花数’));i = n / 100;j = n / 10 % 10;k = n % 10;if n == i ** 3 + j ** 3 + k ** 3:print(’%d是水仙花数’%n);else: print(’%d不是水仙花数’%n);

Python输出水仙花数

import mathfor i in range(100,1000):    tmp1 = math.pow(int(str(i)), 3)    tmp2 = math.pow(int(str(i)), 3)    tmp3 = math.pow(int(str(i)), 3)    if i == tmp1 + tmp2 + tmp3:        print i

python水仙花数的编程是什么

def demo():

    temp =

    for i in range(100, 1000):

        a = i // 100 # 百位

        b = i // 10 % 10 # 十位

        c = i % 10 # 个位

        if a ** 3 + b ** 3 + c ** 3 == i:

            temp.append(str(i))

    return “,“.join(temp)

print(“1000以内的水仙花数有:{}“.format(demo()))

用C语言实现水仙花数:

#include 《stdio.h》 

#include 《stdlib.h》

int main() 

    int i,j,k,n; 

    printf(“’water flower’number is:“); 

    for(n=100;n《1000;n++) 

    { 

        i=n/100;/*分解出百位*/ 

        j=n/10%10;/*分解出十位*/ 

        k=n%10;/*分解出个位*/ 

        if(n==i*i*i+j*j*j+k*k*k) 

        { 

            printf(“%-5d“,n); 

        } 

    } 

    printf(“\n“);

    return 0;

python使用函数实现水仙花数

答: 首先要明白水仙花数的定义,它是指一个三位数,它的每个位上的数字的三次幂之和等于它本身。所以问题就转化为我们如何将三位数的个位、十位和百位都表示出来。然后再遍历100~999的每一个数字去判断其是否为水仙花数。具体代码如下所示。

最终的运行结果如下,水仙花数总共有4个,具体如图片所示。