pdl666 发表于 2023-4-19 18:00:40

打印水仙花数

题目描述

打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 Output:

153
???
???
???

输入




输出

所有的水仙花数,从小的开始。 每行一个




输入样例1

输出样例1
153
370
371
407

isdkz 发表于 2023-4-19 18:07:49

def is_narcissistic_number(num):
    num_str = str(num)
    return num == sum(int(digit)**3 for digit in num_str)

def print_narcissistic_numbers():
    for i in range(100, 1000):
      if is_narcissistic_number(i):
            print(i)

if __name__ == "__main__":
    print_narcissistic_numbers()

歌者文明清理员 发表于 2023-4-19 18:30:19

isdkz 发表于 2023-4-19 18:07


Stop use chatgpt. chatgpt 在传播错误的观点。

isdkz 发表于 2023-4-19 18:33:20

歌者文明清理员 发表于 2023-4-19 18:30
Stop use chatgpt. chatgpt 在传播错误的观点。

你可以落后,但是你不能拉着别人跟你一起落后{:10_256:}

而且这个代码半点毛病都没有

歌者文明清理员 发表于 2023-4-19 18:37:42

isdkz 发表于 2023-4-19 18:33
你可以落后,但是你不能拉着别人跟你一起落后

而且这个代码半点毛病都没有

你用ai,人还是人吗?
我的代码
for i in range(100, 1000):
    nums =
    mysum = sum(nums)
    if mysum == i:
      print(i)

歌者文明清理员 发表于 2023-4-19 18:41:49

isdkz 发表于 2023-4-19 18:33
你可以落后,但是你不能拉着别人跟你一起落后

而且这个代码半点毛病都没有

我的代码比你少了7行。python代码越简洁越好。你的函数名还不如用拼音,长,容易敲错

isdkz 发表于 2023-4-19 18:43:36

歌者文明清理员 发表于 2023-4-19 18:41
我的代码比你少了7行。python代码越简洁越好。你的函数名还不如用拼音,长,容易敲错

越简洁越好?

给你来个简洁的:

print("\n".join(str(i) for i in range(100, 1000) if i == sum(int(digit)**3 for digit in str(i))))

歌者文明清理员 发表于 2023-4-19 18:44:51

本帖最后由 歌者文明清理员 于 2023-4-19 18:49 编辑

isdkz 发表于 2023-4-19 18:43
越简洁越好?

给你来个简洁的:

简洁、易读
我又不是不行
print(*(i for i in range(100, 1000) if i == sum(int(j)**3 for j in str(i))), sep='\n')

isdkz 发表于 2023-4-19 18:52:12

歌者文明清理员 发表于 2023-4-19 18:44
简洁、易读
我又不是不行

简洁易读{:10_256:}

print(
    "\n".join(
      str(i) for i in range(100, 1000)
            if i == sum(
                int(digit)**3 for digit in str(i)
            )
    )
)

歌者文明清理员 发表于 2023-4-19 18:56:53

isdkz 发表于 2023-4-19 18:52
简洁易读

放弃ai

isdkz 发表于 2023-4-19 19:04:08

歌者文明清理员 发表于 2023-4-19 18:56
放弃ai

你连人跟ai都分辨不出了,还让我放弃ai{:10_282:}
页: [1]
查看完整版本: 打印水仙花数