莫待无花空折枝 发表于 2020-5-19 17:03:01

零基础学习python

#求 100-999之间的所有水仙花数(三位数等于各位数字的立方和)

for i inrange(100,999):
    sum = 0
    temp = i
    while temp:
      sum = sum + (temp % 10)**3    #使用除余与地板除,达到目的
      temp //= 10
    if sum == i:
      print("100-999之间的水仙花数有:",end = "")
      print(i)   
   
怎么修改代码能打印出如图所示的形式?

sunrise085 发表于 2020-5-19 17:03:02

本帖最后由 sunrise085 于 2020-5-19 17:24 编辑

用宽度控制符控制输出的 i 所占的位数
#求 100-999之间的所有水仙花数(三位数等于各位数字的立方和)
print("100-999之间的水仙花数有:",end = "")
for i inrange(100,999):
    sum = 0
    temp = i
    while temp:
      sum = sum + (temp % 10)**3    #使用除余与地板除,达到目的
      temp //= 10
    if sum == i:
      print("%5d"%i,end='')   #我这里写的是5位,三位数用五位显示,每个数之间有两个空格

还可以用end参数控制。end参数是print函数结束字符
#求 100-999之间的所有水仙花数(三位数等于各位数字的立方和)
print("100-999之间的水仙花数有:",end = "")
for i inrange(100,999):
    sum = 0
    temp = i
    while temp:
      sum = sum + (temp % 10)**3    #使用除余与地板除,达到目的
      temp //= 10
    if sum == i:
      print(i,end='')#end参数想建个几个空格,就输入几个空格

Twilight6 发表于 2020-5-19 17:03:46

本帖最后由 Twilight6 于 2020-5-19 18:52 编辑

print("100-999之间的水仙花数有:", end="")

for i in range(100, 1000):

    sum = 0
    temp = i

    while temp:
      
      sum = sum + (temp % 10) ** 3
      temp //= 10

    if sum == i:
      print(i,end = " ")

如果对你有帮助~就给个最佳吧~{:10_287:}

qiuyouzhi 发表于 2020-5-19 17:08:50

#求 100-999之间的所有水仙花数(三位数等于各位数字的立方和)
print("100-999之间的水仙花数有:",end = "")

for i inrange(100,999):
    sum = 0
    temp = i
    while temp:
      sum = sum + (temp % 10)**3    #使用除余与地板除,达到目的
      temp //= 10
    if sum == i:
      print(i)

Twilight6 发表于 2020-5-19 17:20:32

qiuyouzhi 发表于 2020-5-19 17:08


看了你代码 我才知道 楼主不是要解释含义哈哈哈哈哈我丢{:10_277:}
页: [1]
查看完整版本: 零基础学习python