打印水仙花数
题目描述打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 Output:
153
???
???
???
输入
无
输出
所有的水仙花数,从小的开始。 每行一个
输入样例1
输出样例1
153
370
371
407
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()
isdkz 发表于 2023-4-19 18:07
Stop use chatgpt. chatgpt 在传播错误的观点。 歌者文明清理员 发表于 2023-4-19 18:30
Stop use chatgpt. chatgpt 在传播错误的观点。
你可以落后,但是你不能拉着别人跟你一起落后{:10_256:}
而且这个代码半点毛病都没有 isdkz 发表于 2023-4-19 18:33
你可以落后,但是你不能拉着别人跟你一起落后
而且这个代码半点毛病都没有
你用ai,人还是人吗?
我的代码
for i in range(100, 1000):
nums =
mysum = sum(nums)
if mysum == i:
print(i) isdkz 发表于 2023-4-19 18:33
你可以落后,但是你不能拉着别人跟你一起落后
而且这个代码半点毛病都没有
我的代码比你少了7行。python代码越简洁越好。你的函数名还不如用拼音,长,容易敲错 歌者文明清理员 发表于 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: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')
歌者文明清理员 发表于 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)
)
)
)
isdkz 发表于 2023-4-19 18:52
简洁易读
放弃ai 歌者文明清理员 发表于 2023-4-19 18:56
放弃ai
你连人跟ai都分辨不出了,还让我放弃ai{:10_282:}
页:
[1]