0

免责声明:我不是一个很好的程序员,所以高级技术对我来说很陌生。

我目前正在尝试为本周即将举行的比赛制作数学程序,但遇到了一些问题。

首先,这段代码(有点笨拙但仍然)......

fractions = [1 / 2, 2 / 3, 3 / 4, 9 / 10, 1 / 10, 2 / 10, 3 / 10, 4 / 10, 6 / 10, 7 / 10, 8 / 10, 9 / 10]
        number1 = random.choice(fractions)
        if number1 == 1 / 2:
            correctAnswer = 0.5
            number1 = 1
            number2 = 2
        elif number1 == 2 / 3:
            correctAnswer = 0.66
            number1 = 2
            number2 = 3
        elif number1 == 3 / 4:
            correctAnswer = 0.75
            number1 = 3
            number2 = 4
        elif number1 == 9 / 10:
            correctAnswer = 0.9
            number1 = 9
            number2 = 10
        elif number1 == 2 / 10:
            correctAnswer = 0.2
            number1 = 2
            number2 = 10
        elif number1 == 3 / 10:
            correctAnswer = 0.3
            number1 = 3
            number2 = 10
        elif number1 == 4 / 10:
            correctAnswer = 0.4
            number1 = 4
            number2 = 10
        elif number1 == 6 / 10:
            correctAnswer = 0.6
            number1 = 6
            number2 = 10
        elif number1 == 7 / 10:
            correctAnswer = 0.7
            number1 = 7
            number2 = 10
        elif number1 == 8 / 10:
            correctAnswer = 0.8
            number1 = 8
            number2 = 10
        else:
            correctAnswer = 0.9
            number1 = 9
            number2 = 10
        if input("Convert " + str(number1) + "/" + str(number2) + " to a decimal.") == correctAnswer:
            print("Correct!")
        else:
            print("Incorrect, the correct answer was " + str(correctAnswer) + ".")

...产生...

Enter *number1*/*number2* as a decimal.*correct answer*
Incorrect, the correct answer was *correct answer*.

...而这个(也很笨重)...

fractions = [1 / 2, 2 / 3, 3 / 4, 9 / 10, 1 / 10, 2 / 10, 3 / 10, 4 / 10, 6 / 10, 7 / 10, 8 / 10, 9 / 10]
        good = False
        while not good:
            fraction1 = random.choice(fractions)
            fraction2 = random.choice(fractions)
            fraction3 = random.choice(fractions)
            fraction4 = random.choice(fractions)
            all_da_fractions = [fraction1, fraction2, fraction3, fraction4]
            if fraction1 == 1 / 2:
                number1 = 0.5
            elif fraction1 == 2 / 3:
                number1 = 0.66
            elif fraction1 == 3 / 4:
                number1 = 0.75
            elif fraction1 == 9 / 10:
                number1 = 0.9
            elif fraction1 == 2 / 10:
                number1 = 0.2
            elif fraction1 == 3 / 10:
                number1 = 0.3
            elif fraction1 == 4 / 10:
                number1 = 0.4
            elif fraction1 == 6 / 10:
                number1 = 0.6
            elif fraction1 == 7 / 10:
                number1 = 0.7
            elif fraction1 == 8 / 10:
                number1 = 0.8
            else:
                number2 = 0.9
            if fraction2 == 1 / 2:
                number2 = 0.5
            elif fraction2 == 2 / 3:
                number2 = 0.66
            elif fraction2 == 3 / 4:
                number2 = 0.75
            elif fraction2 == 9 / 10:
                number2 = 0.9
            elif fraction2 == 2 / 10:
                number2 = 0.2
            elif fraction2 == 3 / 10:
                number2 = 0.3
            elif fraction2 == 4 / 10:
                number2 = 0.4
            elif fraction2 == 6 / 10:
                number2 = 0.6
            elif fraction2 == 7 / 10:
                number2 = 0.7
            elif fraction2 == 8 / 10:
                number2 = 0.8
            else:
                number2 = 0.9
            if fraction3 == 1 / 2:
                number3 = 0.5
            elif fraction3 == 2 / 3:
                number3 = 0.66
            elif fraction3 == 3 / 4:
                number3 = 0.75
            elif fraction3 == 9 / 10:
                number3 = 0.9
            elif fraction3 == 2 / 10:
                number3 = 0.2
            elif fraction3 == 3 / 10:
                number3 = 0.3
            elif fraction3 == 4 / 10:
                number3 = 0.4
            elif fraction3 == 6 / 10:
                number3 = 0.6
            elif fraction3 == 7 / 10:
                number3 = 0.7
            elif fraction3 == 8 / 10:
                number3 = 0.8
            else:
                number3 = 0.9
            if fraction4 == 1 / 2:
                number4 = 0.5
            elif fraction4 == 2 / 3:
                number4 = 0.66
            elif fraction4 == 3 / 4:
                number4 = 0.75
            elif fraction4 == 9 / 10:
                number4 = 0.9
            elif fraction4 == 2 / 10:
                number4 = 0.2
            elif fraction4 == 3 / 10:
                number4 = 0.3
            elif fraction4 == 4 / 10:
                number4 = 0.4
            elif fraction4 == 6 / 10:
                number4 = 0.6
            elif fraction4 == 7 / 10:
                number4 = 0.7
            elif fraction4 == 8 / 10:
                number4 = 0.8
            else:
                number4 = 0.9
            if number1 > number2 > number3 > number4 == True:
                good = True
        correctAnswer = str(number1) + "," + str(number2) + "," + str(number3) + "," + str(number4)
        if input("Place the fractions into order as decimals: " + str(number3) + "," + str(number2) + "," + str(
                number4) + "," + str(number1)) == correctAnswer:
            print("Correct!")
        else:
            print("Incorrect, the correct answer was " + str(correctAnswer) + ".")

...什么都没有产生。

如果有任何方法可以解决此问题或改进代码,我将非常感激。谢谢!

4

0 回答 0