判断从键盘输入的数是不是水仙花数Python
时间: 2024-06-19 17:01:19 浏览: 101
水仙花数是指一个三位数,其各位数字立方和等于该数本身的特性。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在Python中,你可以编写一个简单的程序来检查用户输入的数是否为水仙花数。以下是一个示例代码:
```python
def is_hydrangea_number(n):
# 将输入转换为字符串以便处理非整数输入
str_n = str(n)
# 检查数字长度,只接受三位数
if len(str_n) != 3:
return False
# 分割数字并计算每个位的立方
digits = [int(digit) for digit in str_n]
sum_of_cubes = sum(digit ** 3 for digit in digits)
# 比较计算结果和原始数字
return sum_of_cubes == n
# 获取用户输入
number = int(input("请输入一个三位数: "))
# 判断输入是否为水仙花数
if is_hydrangea_number(number):
print(f"{number} 是一个水仙花数")
else:
print(f"{number} 不是一个水仙花数")
相关问题
从键盘输入一个数,判断该数是不是水仙花数
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
要编写程序来判断一个数是否是水仙花数,你可以按照以下步骤:
1. 输入用户想要检查的三位数。
2. 分离出百位、十位和个位的数字。
3. 计算这三个数字分别的立方和。
4. 比较计算得到的立方和是否等于原始输入的数。
下面是一个简单的Python示例代码:
```python
def is_armstrong_number(num):
# 将数字转换为字符串,以便提取每一位
str_num = str(num)
# 确保输入的是三位数
if len(str_num) != 3:
return False
# 提取每一位并计算它们的立方和
digits = [int(digit) for digit in str_num]
sum_of_cubes = sum([digit**3 for digit in digits])
# 检查立方和是否等于原数
return sum_of_cubes == num
# 获取用户输入
number = int(input("请输入一个三位数: "))
if is_armstrong_number(number):
print(f"{number} 是一个水仙花数")
else:
print(f"{number} 不是水仙花数")
从键盘输入一个三位数,判断该数是不是水仙花数
好的,您可以输入以下代码实现该功能:
```python
num = input("请输入一个三位数:") # 从键盘获取输入
if len(num) != 3: # 判断输入的数字是否为三位数
print("输入错误!请重新输入一个三位数!")
else:
# 计算百位、十位、个位上的数字
a = int(num[0])
b = int(num[1])
c = int(num[2])
if a**3 + b**3 + c**3 == int(num): # 判断是否为水仙花数
print(num, "是水仙花数!")
else:
print(num, "不是水仙花数!")
```
以上代码会从键盘获取一个三位数,然后判断该数是否为水仙花数。如果是水仙花数,输出该数是水仙花数,否则输出该数不是水仙花数。
阅读全文