① 萌新刚学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)
代码及测试截图如下:
图中我已将和题主原代码不同的地方框选出来了,供参考.
-----
希望可以帮到题主, 欢迎追问.
② python使用函数实现水仙花数
求1000以内的水仙花数(3位数)
foriinrange(100,1000):
a=i//100
b=(i-a*100)//10
c=(i-a*100-b*10)
ifi==pow(a,3)+pow(b,3)+pow(c,3):
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()))。
编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
编程:设计具备逻辑流动作用的一种“可控体系”,注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程。
④ python输入一个数,判断是不是水仙花数
num = int(input("请输入一个三位数子:"))
gw = num%10 #取个位数
sw = num%100//10#取百位数
bw = num//100 #取百位数
total = gw ** 3 + sw ** 3 + bw ** 3
#print(total)
if num == total:
print("该数字是一个水仙花数")
else:
print("不是水仙花数")
⑤ Python编写一个函数,用来进行水仙花数的检测,并调用该函数找出1000以内的所有水仙花数
答: 对于这题,首先要明白水仙花数的概念,它首先是一个三位数,其次个位、十位和百位的三次幂相加之和等于它本身。因此根据这个思路编写以下代码。
⑥ Python输入一个三位数,判断其是否为水仙花数,所谓水仙花数是指该数的各位的立方和恰好等于该数
###水仙花数适用于任何位数的整数
whileTrue:
a=int(input("输入一个整数:"))
bb=0
b=a
whileb!=0:
bb+=(b%10)**3##取余数求三次方
b=b//10##取相除后的整数部分
ifbb==a:##判断两者是否相等
print("输入为水仙花数:",a)
else:
print("输入不是水仙花数")
⑦ 关于“水仙花数”python代码(初学者)
因为1//10是false,不会
⑧ 判断是否是水仙花数在Python里怎样输入代码
n=int(input())
for i in range(n+1):
a=i//100
b=(i-a)//10
c=(i-a-b)//1
if a**3+b**3+c**3==n:
print("有水仙花数")
break
else:
print("没有水仙花数")