2015-01-27 2 views
-3

파이썬에서 퀴즈를 만들려고하는데 잘못된 구문 오류가 계속 발생합니다.파이썬 잘못된 구문 IF 문

#This is for addition questions. 

if (question=add) <---- That is where i get the error 
for i in range(0,10): 
    first_number_add=random.randint(1,50) 
    second_number_add=random.randint(1,50) 
    answer=int(input(str(first_number_add) + '+' + str(second_number_add) + '=')) 
    sum=first_number_add+second_number_add 
    if (answer==sum): 
     print ('Correct') 
     stats['correct'] += 1 
    else: 
     print ('Incorrect.') 
     stats['incorrect'] += 1 
+0

"<---- 그 곳에서 오류가 발생합니다"는 실제 코드에 없습니다. – JD245

+1

콜론을 놓친 것 같습니다. –

+0

'if (question = add)'대신'=='를 사용하고':'를 추가하십시오. – Maroun

답변

0
if question==add: 
    for i in range(0,10): 
     first_number_add=random.randint(1,50) 
     second_number_add=random.randint(1,50) 
     answer=int(input(str(first_number_add) + '+' + str(second_number_add) + '=')) 
     sum=first_number_add+second_number_add 
     if answer==sum: 
      print ('Correct') 
      stats['correct'] += 1 
     else: 
      print ('Incorrect.') 
      stats['incorrect'] += 1 

당신은 괄호가 필요하지 않습니다. 또한 for 루프와 if 문 다음에 4 칸을 들여 써야합니다. @ 조엘 의견, 표준 4 개 공백이 있으므로 8-16 등으로 변경할 수 있습니다.

+0

참고 : 기술적으로 들여 쓰기는 4 칸 일 필요는 없습니다 (그러나 일관된 금액이 필요합니다). 4 개의 공백이 표준이므로 지켜야합니다. – Joel

+0

@Joel 그 충고에 감사드립니다. :) – GLHF

1

if question == add:으로 바꾸고 나머지 코드는 들여 씁니다.

또한 변수 이름으로 sum을 사용하지 마십시오. 유용한 기능입니다. comparasion에 대한

if question == add: 
    for i in range(10): 
     first_number_add = random.randint(1,50) 
     second_number_add = random.randint(1,50) 
     answer = int(input(str(first_number_add) + '+' + str(second_number_add) + '=')) 
     the_sum = first_number_add + second_number_add 
     if answer == the_sum: 
      print('Correct') 
      stats['correct'] += 1 
     else: 
      print('Incorrect.') 
      stats['incorrect'] += 1 
4

당신은 ==를 사용해야합니다 :

if question==add: #you dont need bracket here 
    # do your stuff 

sum는 내장 SUM 함수가 변수 이름

0
if question==add: 
    for i in range(0,10): 
     first_number_add=random.randint(1,50) 
     second_number_add=random.randint(1,50) 
     answer=int(input(str(first_number_add) + '+' + str(second_number_add) + '=')) 
     sum=first_number_add+second_number_add 
     if answer==sum: 
      print ('Correct') 
      stats['correct'] += 1 
     else: 
      print ('Incorrect.') 
      stats['incorrect'] += 1 

파이썬에서 괄호의 필요 없음을 위해 사용 해달라고입니다 .. 모든 블록 및 반복문에 일관된 들여 쓰기 (동일한 공백 개수)를 제공하십시오.