2015-01-28 3 views
-3

Я исследовал эту тему, и не может найти соответствующий ответ, вот мой код:Int не отозван

#Imports# 
import random 
from operator import add, sub, mul 
import time 
from random import choice 

#Random Numbers# 
beg1 = random.randint(1, 10) 
beg2 = random.randint(1, 10) 

#Variables + Welcoming message# 
correct = 0 
questions = 10 
print ("Welcome to the Primary School Maths quiz!!") 
print ("All you have to do is answer the questions as they come up!") 
time.sleep(1) 

#Name# 
print("Enter your first name") 
Fname = input("") 
print ("Is this your name?" ,Fname) 
awnser = input("") 
if awnser == ("yes"): 
    print ("Good let's begin!") 
    questions() 
if input == ("no"): 
    print("Enter your first name") 
    Fname = input("") 
    print ("Good let's begin!") 




#Question Code# 
def questions(): 
    for i in range(questions): 
    ChoiceOp = random.randint (0,2) 
    if ChoiceOp == "0": 
     print (("What is " +beg1 ,op ,beg2)) 
     begAns = input("") 
     if int(begAns) == beg1*beg2: 
      print("That's right -- well done.\n") 
      correct = correct +1 
     else: 
      print("No, I'm afraid the answer is ",begAns) 

    if ChoiceOp == "1": 
     print (("What is " +beg1 ,op ,beg2)) 
     begAns = input("") 
     if int(begAns) == beg1-beg2: 
      print("That's right -- well done.\n") 
      correct = correct +1 
     else: 
      print("No, I'm afraid the answer is ",begAns) 

    if ChoiceOp == "2": 
     print (("What is " +beg1 ,op ,beg2)) 
     begAns = input("") 
     if int(begAns) == beg1+beg2: 
      print("That's right -- well done.\n") 
      correct = correct +1 
     else: 
      print("No, I'm afraid the answer is ",begAns) 
questions() 

Если я честно, я не совсем уверен, что это не так, у меня было много проблемы с этим кодом, который помог мне этот замечательный сайт, но в любом случае этот код предназначен для того, чтобы спросить 10 случайных вопросов сложения, вычитания и умножения для детей младшего школьного возраста за любую помощь. Я благодарен заранее! : D

+2

На каком языке? –

+0

Я предполагаю, что это Python –

+0

«Я изучил эту тему и не могу найти подходящий ответ» - тогда вы должны работать над своими исследовательскими навыками. Просто просмотрите список связанных вопросов на боковой панели справа. Вы должны были найти их через поиск по вашему запросу в Google. TL; DR: проблема в том, что у вас есть переменная 'int' в коде, которую вы пытаетесь вызвать как функция; например, i = 1; i() 'приводит к той же ошибке. – l4mpi

ответ

0

У вас есть как функция def questions(), так и переменная questions = 10. Это не работает в Python; каждое имя может относиться только к одному: переменная, функция, класс, но не одна из них, как это было бы возможно, например. в Java.

Чтобы устранить эту проблему, переименовать либо переменная, например, к num_questions = 10, или ваша функция, например, def ask_question()

отметить также, что вы называете questions функцию до того, как на самом деле определяется. Опять же, это работает на некоторых других языках, но не на Python. Поместите свой def quesitons в начало и приглашение ввода ниже или в другую функцию, например. def main().

+0

tobias_k код по-прежнему появляется с той же ошибкой, несмотря на cahnges, но спасибо в любом случае! : D – khepigamin

+0

@khepigamin Ну, что _did_ вы меняете? Кроме того, в вашем коде есть еще несколько ошибок, но я не могу исправить все это для вас, например. вы также сравниваете целые числа со строками, и вы забыли определить переменную 'op' и' correct'. –