Python问答程序。你能帮我确定我在哪里吗';你错了吗?谢谢

Python问答程序。你能帮我确定我在哪里吗';你错了吗?谢谢,python,python-3.x,function,random,Python,Python 3.x,Function,Random,这是一个小测验程序,循环5次,每次循环一个完全随机的问题。我一直收到一个错误,说(rand_quick())函数没有定义,尽管我已经定义了它。我想我做错了。你能帮我纠正一下吗。代码如下 import random import operator operators = { "+":operator.add, "-":operator.sub, "*":operator.mul, "/":operat

这是一个小测验程序,循环5次,每次循环一个完全随机的问题。我一直收到一个错误,说(rand_quick())函数没有定义,尽管我已经定义了它。我想我做错了。你能帮我纠正一下吗。代码如下

import random
import operator

operators = {
            "+":operator.add,
            "-":operator.sub,
            "*":operator.mul,
            "/":operator.truediv,
            }

questions = 0
star = 0


def star_score():

    while questions <= 4:
        star = star + 1
        return star


    def check_ans():

        if que_ans == que:
            print("Correct! You earned yourself a star.")
            star_score()

        elif que_ans != que:
            print("Wrong! Better luck next time.")


        def rand_quiz():
            rand_num1 = random.randint(9, 999)
            rand_num2 = random.randint(9, 999)

            ops = random.choice(list(operators.keys()))

            que = int(operators[ops](rand_num1, rand_num2))

            print("What is",rand_num1, ops, rand_num2)
            que_ans = input(">>>")

            if que_ans.isdigit():
                check_ans()

            else:
                return("Error! Invalid input.")    


def quiz_loop():

    while questions <= 4:
        rand_quiz()


quiz_loop()
随机导入
进口经营者
运算符={
“+”:operator.add,
“-”:operator.sub,
“*”:operator.mul,
“/”:operator.truediv,
}
问题=0
星=0
def star_分数():

在python中,缩进非常重要。您已经在缩进级别定义了一些函数。必须在基本级别定义函数。

欢迎使用StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您描述的问题。您不能从同一代码中同时获得这两个问题
rand\u quick
不是在顶层定义的:您将其隐藏在
check\u ans
中,然后是
star\u score
。此代码中存在各种使用错误。你已经“超出了自己的能力”——编码远远超出了你目前的能力。我强烈建议您采用增量编程:一次写几行。测试每一个新的添加;在你继续之前,确保它能工作。目前,您正在尝试调试至少有三个致命错误的50行代码,每个错误都必须修复,然后才能看到任何可识别的结果。查看这个可爱的博客以获得调试方面的帮助。