编写一个 Python 程序来检查一个数字是否是间谍数字,或者是否使用 for 循环。例如,如果数字的总和等于一个数字中各个数字的乘积,那么它就是一个间谍号。在这个 Python 间谍号的例子中,我们使用了一个 while 循环来将数字分成数字,并找到这些数字的总和和乘积。if 语句检查总和是否等于乘积,如果为真,则检查间谍号。
Number = int(input("Enter the Number to Check Spy Number = "))
Temp = Number
Sum = 0
prod = 1
while Temp > 0:
lastDigit = Temp % 10
Sum = Sum + lastDigit
prod = prod * lastDigit
Temp = Temp // 10
print("The Sum of the Digits = %d" %Sum)
print("The Product of the Digits = %d" %prod)
if Sum == prod:
print("\n%d is Spy Number." %Number)
else:
print("%d is Not a Spy Number." %Number)
Python 程序使用递归或递归函数来检查一个数字是否是间谍数字。
total = 0
prod = 1
reminder = 0
def spyNumber(number):
global reminder, total, prod
if(number > 0):
reminder = number % 10
total = total + reminder
prod = prod * reminder
spyNumber(number // 10)
return total, prod
else:
return 0
Number = int(input("Enter the Number to Check Spy Number = "))
total, prod = spyNumber(Number)
print("The Sum of the Digits = %d" %total)
print("The Product of the Digits = %d" %prod)
if total == prod:
print("\n%d is Spy Number." %Number)
else:
print("%d is Not a Spy Number." %Number)
Enter the Number to Check Spy Number = 1421
The Sum of the Digits = 8
The Product of the Digits = 8
1421 is Spy Number.
这个 Python 程序打印从 1 到 n 的间谍号或者某个范围内的间谍号。
MinSpy = int(input("Please Enter the Minimum Spy Value: "))
MaxSpy = int(input("Please Enter the Maximum Spy Value: "))
for i in range(MinSpy, MaxSpy + 1):
Temp = i
Sum = 0
prod = 1
while Temp > 0:
lastDigit = Temp % 10
Sum = Sum + lastDigit
prod = prod * lastDigit
Temp = Temp // 10
if Sum == prod:
print(i, end = ' ')
Please Enter the Minimum Spy Value: 1
Please Enter the Maximum Spy Value: 10000
1 2 3 4 5 6 7 8 9 22 123 132 213 231 312 321 1124 1142 1214 1241 1412 1421 2114 2141 2411 4112 4121 4211