Python 如果我取随机整数,如何不带余数进行除法?

Python 如果我取随机整数,如何不带余数进行除法?,python,python-3.x,math,random,divide,Python,Python 3.x,Math,Random,Divide,我还是个编程新手。 我想编写一个完整的脚本,在这里我可以由操作符决定并得到2个随机数,以此类推。 它起作用了,但如果我想做点什么,有一些计算,比如59:6=逗号后面有9个数字。 我最终还是用分割部分的代码结束了 def division(): x = randint(1, 100) y = randint(1, 10) a = int(input("Task: What is " + str(x) + ":" + str(y) +

我还是个编程新手。 我想编写一个完整的脚本,在这里我可以由操作符决定并得到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()
来自随机导入randint
def plus():
x=randint(11000)
y=randint(11000)
a=int(输入(“任务:什么是“+str(x)+”+“+str(y)+”?\n”))
b=x+y
如果a==x+y:
打印(“很好!”)
开始()
其他:
打印(“错误!正确答案是”+str(b))
开始()
def减号():
x=randint(1100)
y=randint(1100)
如果x>>结束…”)
开始()

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

编辑: 我再次阅读了你的问题,在这种情况下,你需要以稍微不同的方式生成随机数

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

所以答案g在x之前计算,然后用随机y,g计算x,它在(1100)中有界。

随机选择除法的结果和一个除数,然后将它们相乘得到第一个数字。例如,如果生成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()
与所提供的选项相比,另一个选项(这里的用处要小得多)是使用
分数
模块:您可以给它一个分子和分母(或字符串分数),它会自动简化分数:

分数。分数(32,8) 分数(4,1) >>>分数。分数(32,9) 分数(32,9) >>>分数。分数(32,10) 分数(16,5)
简化为分母
1
的分数是整数。

请再读一遍问题,这根本不是OP想要的:他不想把商不是整数的数字用作问题。我是说,是的,但不是。。。有没有可能我说喜欢不是5/2=2。。。但是有一个逗号。。。我想让python不要做那样的计算,只有像54/9或32/8这样清晰的计算,这是现在所期望的,但这个答案已经给出了…@Thierry Lathuile是的,在你回答时正在编辑,所以我无法确定你想避免得到y,这不是x的一个因子(例如,如果x是100,那么y应该是100、50、25、20……)?随机选择除法的结果和其中一个除数,然后将它们相乘得到第一个数字。例如,如果你生成6和4,则要求24/6。是的,正是我想要做的。嘿,我想简化它,但另一方面,我希望没有逗号,所以除法必须干净,但感谢你的尝试。我做到了不知道你在说什么。如果分数的分母是1,你可以取分子,这就是你的结果。没有分数部分。