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

1 ответ

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

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

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

Другие вопросы по тегам