关于打印三位数水仙花数的课后作业,如果想改成用元组来表示
想实现的效果是:所有水仙花数为:请问这段程序该如何改呢?
def shui():
value = 100
temp = []
while99 < value <1000:
a = value//100
b = (value - a*100)//10
c = value - a*100 - b*10
if value == a**3 + b**3 + c**3:
temp.append(value)
print('所有水仙花数为:',temp)
value += 1
本帖最后由 昨非 于 2021-1-16 20:51 编辑
def shui():
value = 100
temp = []
whilevalue <1000:#因为value初值100且递增,所以99的条件去掉,而且你的写法不规范,要写成value>99 and value<1000:
a = value//100
b = (value - a*100)//10
c = value - a*100 - b*10
if value == a**3 + b**3 + c**3:
temp.append(value)
value += 1
print('所有水仙花数为:',temp)#打印放在循环外,避免随循环重复打印
shui()
测试结果:
所有水仙花数为: 本帖最后由 jackz007 于 2021-1-16 20:52 编辑
def shui():
value = 100
temp = []
while value < 1000:
a = value // 100
b = (value % 100) // 10
c = value % 10
if value == a**3 + b**3 + c**3:
temp . append(value)
value += 1
print('所有水仙花数为:',temp)
shui() 昨非 发表于 2021-1-16 20:41
测试结果:
好的,以后会慢慢开始注意代码规范的,谢谢您! 小智1998 发表于 2021-1-16 21:05
好的,以后会慢慢开始注意代码规范的,谢谢您!
这个写法在python里不算错,但是再c语言里就不对了
所以还是建议分开写哈
问题解决了记得设置最佳答案哈
页:
[1]