編寫一個 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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270847.html