如果我取随机整数,如何除无余数?

How do I divide without remainder, if I take random integers?

我还是编程新手。 我想编写一个完整的脚本,我可以在其中由操作员决定并获得 2 个随机数等等。 它有效,但如果我想分配一些东西,可以进行一些计算,例如 59:6= 逗号后有 9 位数字。 毕竟我确实以分割部分的代码结束了

def division():
    x = randint(1, 100)
    y = randint(1, 10)

    a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))
    b = x / y
    g = round(b, 0)

    if a == g:
        print("Nice!")
        start()
    else:
        print("Wrong! The right answer is " + str(g))
        start()

这不是我所知道的最佳解决方案,但我只想进行没有任何余数的计算,但我不知道如何计算。 有什么建议吗?

我的全部代码,如果你想测试它:

from random import randint


def plus():
    x = randint(1, 1000)
    y = randint(1, 1000)

    a = int(input("Task: What is " + str(x) + "+" + str(y) + "?\n"))
    b = x + y

    if a == x+y:
        print("Nice!")
        start()
    else:
        print("Wrong! The right answer is " + str(b))
        start()


def minus():
    x = randint(1, 100)
    y = randint(1, 100)

    if x < y:
        minus()
    else:
        print()

    a = int(input("Task: What is " + str(x) + "-" + str(y) + "?\n"))
    b = x - y

    if a == x-y:
        print("Nice!")
        start()
    else:
        print("Wrong! The right answer is " + str(b))
        start()


def multiplication():
    x = randint(1, 10)
    y = randint(1, 10)

    a = int(input("Task: What is " + str(x) + "*" + str(y) + "?\n"))
    b = x * y

    if a == x*y:
        print("Nice!")
        start()
    else:
        print("Wrong! The right answer is " + str(b))
        start()


def division():
    x = randint(1, 100)
    y = randint(1, 10)

    a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))
    b = x / y
    g = round(b, 0)

    if a == g:
        print("Nice!")
        start()
    else:
        print("Wrong! The right answer is " + str(g))
        start()


def start():
    v = input("Which operator do you wanna use? (+, -, *, :): ")

    if v == '+':
        plus()
    elif v == '-':
        minus()
    elif v == '*':
        multiplication()
    elif v == ':':
        division()
    else:
        print(">>> End . . .")


start()

您正在寻找 div 运算符,它在 python 中是 // 示例:5 // 2 == 2

编辑: 我又看了一遍你的问题,在这种情况下你需要以稍微不同的方式生成随机数

g = randint(1, 10)
y = randint(1, 10)
x = g * y

所以答案 g 在 x 之前计算,y 在之后用随机 y,g 计算 x,它在 (1,100)

范围内

随机选择除法的结果和一个除数,然后将它们相乘得到你的第一个数字。例如,如果生成 6 和 4,则要求生成 24 / 6。

def division():
    b = randint(1, 10)
    y = randint(1, 10)
     
    x = b * y

    a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))

    if a == b:
        print("Nice!")
        start()
    else:
        print("Wrong! The right answer is " + str(b))
        start()

提供的替代选项(此处用处不大)是使用 fractions 模块:您可以给它一个分子和一个分母(或字符串分数),它会自动简化分数:

>>> fractions.Fraction(32, 8)
Fraction(4, 1)
>>> fractions.Fraction(32, 9)
Fraction(32, 9)
>>> fractions.Fraction(32, 10)
Fraction(16, 5)

简化为 1 分母的分数是整数。