简体   繁体   English

这个乘法测试生成器中的 if 语句有什么问题?

[英]What is wrong with my if statement in this multiplication test generator?

This is a multiplication test generator.这是一个乘法测试生成器。 When I enter the correct answer, it still displays the message "No. Please try again."当我输入正确答案时,它仍然显示消息“否。请重试”。

import random

answer = 0

def generate_numbers():
    num1 = random.randrange(0,10)
    num2 = random.randrange(0,10)
    return(num1, num2)

def display_question(answer):
    num1, num2 = numbers
    answer = num1 * num2
    guess = int(input(f'What is {num1} times {num2}?'))
                
    while guess != answer:
        print("No. Please try again")
        display_question()

    print("Very good!")

Not sure why you are using answer as argument but this should work:-不知道你为什么使用answer作为论据,但这应该有效: -

import random

def generate_numbers():
    num1 = random.randrange(0,10)
    num2 = random.randrange(0,10)
    return(num1, num2)

def display_question():
    num1, num2 = generate_numbers()
    answer = num1 * num2
    guess = int(input(f'What is {num1} times {num2} ?\n'))
                
    if guess != answer:
        print("No. Please try again\n")
        display_question()
    else:
        print("Very good!")

display_question()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM