用Python 编写一个程序,接受用户输入一个数,判断是否为水仙花数。 所谓"水仙花数"是指一
问题描述:
用Python 编写一个程序,接受用户输入一个数,判断是否为水仙花数。 所谓"水仙花数"是指一个三位正整数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 若用户输入的不符合要求,则输出 input error! 测试用例: 输入:153 输出:OK 输入:123 输出:Fail 输入:12.3 输出:input error!
答
try:
text = input("Please enter a 3-digit integer: ")
number = int(text)
if number >=100 and number <= 999:
ones = number % 10
tens = int(number / 10) % 10
hundreds = int(number / 100)
sum = ones * ones * ones + tens * tens * tens + hundreds * hundreds * hundreds
if sum == number:
print("Success")
else:
print("Fail")
else:
print("Fail")
except:
print("input error!")
# Output
Please enter a 3-digit integer: 153
Success
Please enter a 3-digit integer: 407
Success
Please enter a 3-digit interger: 123
Fail
Please enter a 3-digit integer: 10.4
input error!