判断键盘输入一个三位整数是否是水仙花数python
时间: 2025-02-12 19:28:26 浏览: 67
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Python中,你可以通过编写一个函数来判断用户输入的三位数是否满足这个条件。以下是一个简单的示例:
```python
def is_lychrel_number(num):
# 检查输入是否为三位数
if len(str(num)) != 3 or not str(num).isdigit():
return "请输入一个三位整数"
digits = [int(d) for d in str(num)] # 获取每位数字
sum_of_cubes = sum(d ** 3 for d in digits) # 计算立方和
# 循环检查是否为水仙花数,最多尝试10次
for _ in range(10):
if sum_of_cubes == num:
return True
else:
sum_of_cubes += digits[0] # 将第一位移到末位并累加
digits.pop(0)
digits.append(digits[0]) # 将移出的数字放回首位
return False # 如果不是水仙花数,返回False
# 用户输入
num = input("请输入一个三位数:")
result = is_lychrel_number(int(num))
if result == "请输入一个三位整数":
print("输入错误,请重新输入.")
else:
print(f"{num} 是水仙花数吗? {result}")
```
在这个代码中,我们首先检查输入是否有效,然后计算每一位的立方和,并不断将第一位移到末位,同时更新总和。如果经过多次迭代后总和仍然等于原数,那么它就是水仙花数;否则就不是。
阅读全文
相关推荐


















