帮我写个水仙花数字的Python文件
时间: 2023-03-08 19:07:32 浏览: 1
很高兴为您提供帮助。这是一个Python文件,可以用来找出所有水仙花数字:# 找出所有水仙花数字# 定义一个函数,用于检查输入的数字是否是水仙花数字def is_narcissistic_number(num):
total = 0
temp = num
while temp > 0:
digit = temp % 10
total += digit ** 3
temp //= 10
if num == total:
return True
return False# 设置一个范围,查找所有在该范围内的水仙花数字for num in range(100, 1000):
if is_narcissistic_number(num):
print(num)
相关问题
2. 输出所有的三位水仙花数到文本文件中。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 【问题描述】请将所有的三位水仙花数输出到文件file1.txt中。 【输入形式】无 【输出形式】将所有水仙花数写入到文件file1.txt中,注意使用open()函数打开文件时,第一个参数只写出文件名和扩展名,比如:f1=open('file1.txt','w') 【样例输入】 【样例输出】打开file1.txt文件后,数据如下所示: 153 370 371 407
```python
f1 = open('file1.txt', 'w')
for num in range(100, 1000):
i = num // 100
j = num // 10 % 10
k = num % 10
if num == i ** 3 + j ** 3 + k ** 3:
f1.write(str(num) + "\n")
f1.close()
```
其中,`num // 100` 可以得到百位数,`num // 10 % 10` 可以得到十位数,`num % 10` 可以得到个位数。
水仙花数。所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如,153就是一水仙花数,因为153 = 13+53+33 。 请计算出所有的水仙花数,并以一行一个水仙花数的格式保存到文本文件data.txt中。输出格式如下
以下是Python代码实现:
```python
# 计算水仙花数
def is_narcissistic_number(num):
sum = 0
for i in str(num):
sum += int(i) ** 3
return sum == num
narcissistic_numbers = []
for i in range(100, 1000):
if is_narcissistic_number(i):
narcissistic_numbers.append(i)
# 保存到文件中
with open("data.txt", "w") as f:
for num in narcissistic_numbers:
f.write(str(num) + "\n")
```
输出格式如下:
```
153
370
371
407
```
阅读全文