爱吃鱼的馒头 发表于 2020-10-19 19:19:29

求助大佬,这个要怎么输入呢,感谢啦

输出100到1000之间数字之和为5的整数。(例如:122,其每位数字之和为1+2+2=5)

昨非 发表于 2020-10-19 19:26:13

for i in range(1,10):
    for j in range(0,10):
      for k in range(0,10):
            if i+j+k==5:
                result =str(i)+str(j)+str(k)
                print(result)

昨非 发表于 2020-10-19 19:26:45

满意的话,请设为【最佳答案】

altf11 发表于 2020-10-19 19:58:56

上代码:

for num in range(100, 1000):
    low = num % 10# 个位
    mid = num // 10 % 10# 十位
    high = num // 100# 百位
    if low + mid + high == 5:
      print(num)

试着将上面的代码,改为求100到1000以内的水仙花数吧

不能懒 发表于 2020-10-19 19:59:51

sum=0
for n in range(100,1001):
if n//100+n%100//10+n%100%10 == 5:
    print(n)

hrp 发表于 2020-10-19 20:00:49

本帖最后由 hrp 于 2020-10-19 20:02 编辑

取巧(比单层循环纯数学运算慢):
for num in range(101, 1000):
    if sum(int(x) for x in str(num)) == 5:
      print(num)

爱吃鱼的馒头 发表于 2020-10-19 20:22:51

本帖最后由 爱吃鱼的馒头 于 2020-10-19 20:40 编辑

altf11 发表于 2020-
页: [1]
查看完整版本: 求助大佬,这个要怎么输入呢,感谢啦