Python问答程序。你能帮我找出哪里出了问题吗?谢谢

2024-06-24 13:24:47 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个循环5次的小测验程序,每次循环一个完全随机的问题。我不断得到一个错误,说(rand\u 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()

Tags: 定义defrandomquizoperatoropsstarque