這是我的編碼:int()函數的參數必須是字符串或數字,而不是「元組」
#Getting them to import their code:
number = int(input("Enter 7 digit GTIN code to get eighth number : "))
#importing math for subtracting later:
import math
#Getting the numbers X3 & X1 and then adding them:
def eight(total):
multiplier = [3, 1]
total = 0
for i, digit in enumerate(str(number)):
total = total + int(digit)*multiplier[i%2]
#Subtracting the total to get the last number:
nearest_10 = int(math.ceil(total/10.0)) * 10
return nearest_10 - total
code = number,eight(number)
code = int(code)
print(code)
#printing their full number:
#Checking the validity of the eight digit GTIN-8 code:
def validity(valid):
multiplier = [3, 1]
valid = 0
string = ""
for i, digit in enumerate(list(str(code))):
valid = valid + str(digit)*multiplier[i%2]
string = string+str(str(digit)*multiplier[i%2])+", "
if code % 10 == 0:
print"Valid"
else:
print"Not valid"
然而,當我想我的代碼轉換爲整數的後面,因爲它需要爲回答一個整數,它這樣說:
code = int(code)
TypeError: int()
argument must be a string or a number, not 'tuple'
我重新格式化了您的代碼以更好地適應此網站,但縮進似乎已關閉。請檢查。 –
什麼是代碼=數字,八(數字)應該做什麼? –
'code = number,eight(number)'現在'code'是元組包含2個值:'number'和'eight(number)'https://en.wikibooks.org/wiki/Python_Programming/Tuples –