계속해서이 튜플 오류가 발생하여 도움이 필요합니다. 그것이 많은 수학적 오류라고 생각합니다. 나는 'not int', 'not list', 'float not'등등을 포함한 TypeError의 거의 모든 인스턴스를 읽었습니다. 그러나 나는 왜 그것을 얻지 못했는지 알아 내지 못했습니다.TypeError : 파이썬에서 튜플 ("int"가 아님) 만 연결할 수 있습니다.
나는 임의의 숫자의 합계를 입력 할 수있는 코드를 작성했으며 결국에는 성공률을 계산합니다. 그래서 나는 정확한 답을 세는 카운터 "right = right + 1"을 가지고있다. 마치 파이썬이 그것을 좋아하지 않는 것처럼 보입니다.
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()
나는 점점 계속 : 여기
내가 쓴 것입니다 당신은 checkAnswer
에 의해 반환되는 것을 할당하는
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 코드를 읽었습니까? '오른쪽'은 전체에 걸쳐 숫자를 의미하며, 튜플이된다는 사실은 놀랍지 만 목표는 아닙니다. –
그런 다음 튜플의 첫 번째 값을 취하여 튜플에 추가하십시오. 어렵지 않다. – DevinLynch99
그리고'right'가'0.0'으로 설정된 첫 번째 호출은 어떻게됩니까? 증상을 수정하는 대신 실제 문제를 해결하십시오. –