我需要您幫助解決這個不斷出現的常量元組錯誤。似乎這是很多人常見的數學錯誤。我已經讀過幾乎所有TypeError的實例,包括'not int','not list','not float'等。但是我沒有弄清楚爲什麼我會得到它。TypeError:只能在Python中連接元組(不是「int」)
我已經寫了下面的代碼,允許你輸入隨機數的總和,最後它會計算你的成功率。所以我有一個計數器「right = right + 1」來計算我的正確答案。看起來好像Python不喜歡那樣。
這是我採寫:
import random
#the main function
def main():
counter, studentName, averageRight, right, answer, number1, number2 = declareVariables()
studentName = inputNames()
while counter < 10:
number1, number2 = getNumber()
answer = getAnswer(number1, number2, answer)
right = checkAnswer(number1, number2, answer, right)
counter = counter + 1
results(right, averageRight)
displayInfo(studentName, right, averageRight)
def declareVariables():
counter = 0
studentName = 'NO NAME'
averageRight = 0.0
right = 0.0
answer = 0.0
number1 = 0
number2 = 0
return counter, studentName, averageRight, right, answer, number1, number2
def inputNames():
studentName = raw_input('Enter Student Name: ')
return studentName
def getNumber():
number1 = random.randint(1, 500)
number2 = random.randint(1, 500)
return number1, number2
def getAnswer(number1, number2, answer):
print 'What is the answer to the following equation'
print number1
print '+'
print number2
answer = input('What is the sum: ')
return answer
def checkAnswer(number1, number2, answer, right):
if answer == number1+number2:
print 'Right'
right = right + 1
else:
print 'Wrong'
return right, answer
def results(right, averageRight):
averageRight = right/10
return averageRight
def displayInfo(studentName, right, averageRight):
print 'Information for student: ',studentName
print 'The number right: ',right
print 'The average right is: ', averageRight
# calls main
main()
和我不斷收到:
Traceback (most recent call last):
File "Lab7-4.py", line 70, in <module>
main()
File "Lab7-4.py", line 15, in main
right = checkAnswer(number1, number2, answer, right)
File "Lab7-4.py", line 52, in checkAnswer
right = right + 1
TypeError: can only concatenate tuple (not "int") to tuple Press any key to continue . . .
您是否真的讀過OP代碼? 「right」本來就是一個數字,它變成一個元組是一個驚喜,而不是目標。 –
然後在這種情況下,取出元組的第一個值並將其添加到該元組中。不難。 – DevinLynch99
以及「right」設置爲「0.0」的第一次調用呢?而不是修復症狀,解決實際問題。 –