我想要定義一個函數,它將包含一個變量n
,其中n
將是一串數字,例如, "3884892993"
,該函數的定義開始爲is_true(n)
,但是如果n將成爲一個字符串,它應該是is_true(n)
,然後一旦定義了字符串,我可以用一個例如n = "3884892993"
這樣的字符串來測試該函數。但是,當我使用is_true(n)
時出現語法錯誤。我只是想知道如何去測試這個函數的例子中的字符串爲n。使用變量定義函數?
我整個函數定義如下所示:http://oi44.tinypic.com/282i3qo.jpg但是記住我是一個絕對的新手,所以最有可能有不少錯誤,但我希望從一些專家一些幫助,如果可能的話:)
def is_valid("n"): #n is the number to be checked.
number =
[int(y) for y in A] #converts the string into a list of useable digits.
altern1 = integer[-2::-2] #sets altern1 as one set of alternating digits.
double = [x*2 for x in altern1] #doubles each element of the list altern1.
sum1 = sum(double) # adds together all the doubled items of the list.
altern2 = integer[-1::-2] #sets altern2 as the other set of alternating digits.
return sum2 = sum(altern2)#sums the other set of alternating digits.
sumtotal = sum1 + sum2 #works out the total sum to be worked with.
for mod = sumtotal % 10: #works out remainder when sumtotal is divided by 10
if mod == 0 : #if remainder is zero sumtotal is a multiple of 10
print 'True' #sumtotal is a multiple of 10 therefore n is a credit card number
else:
print 'False' #sumtotal is NOT a multiple of 10 therefore not a valid credit card number
下面是實際的問題:
用於驗證數的算法如下: (a)用倒數第二位開始,並且朝着第一個數字工作,雙每個交替數字。 (b)將加倍的數字相加,將13視爲1 + 3等,並將結果加到非加倍數 數字之和 (c)如果總和可以被10整除,則該數字是有效的信用卡號碼。
編寫和測試功能is_valid(),接受作爲參數信用卡號碼作爲字符串 (如有效(「49927398716」)),並返回true或false,具體的數量是否是 有效的信用卡卡號。
代碼爲JPEG?哇! – Johnsyweb
嗯,我只是覺得使用剪切工具比粘貼到這裏更容易,並確保它傳遞正確的縮進(這可能是錯誤的)。這就是我是一個新手多少。也是它的意思是PNG,對此很抱歉。 –
您可以打印出您的代碼的JPEG,將它放在[木桌](http://thedailywtf.com/Articles/Web_0_0x2e_1.aspx)上,並拍下它的照片? –