在数学游戏中如何确保一个随机整数可以被另一个随机数整除

问题描述 投票:0回答:1

所以我正在用Python制作一个游戏,你可以在其中回答数学问题。我添加了 3 个运算:加法、减法和乘法。他们有5种模式。每个都比另一个更难。现在我想添加部门。但简单、普通和困难模式的随机数并不总是可整除的。我怎样才能让它们整除?

我使用了

%
,但我不知道如何在随机数生成器中使用它。我的代码:

   # 'd' for division
   elif response == "d":
   # this function asks the user for the mode
    mode_opt = input(ask_mode_opt)
    if mode_opt == 'E'.lower():
        no2 = random.randint(1, 10)
        math_func(guesses=10, no1=random.randint(1, 10), no2=no2, data_type=int, operator=3, str_op='÷', full_op_text='e')
        replay_or_exit()
    elif mode_opt == 'N'.lower():
        no2=random.randint(2, 20)
        math_func(guesses=5, no1=random.randint(2, no2), no2=no2, data_type=int, operator=3, str_op='÷', full_op_text='n')
        replay_or_exit()
    elif mode_opt == 'H'.lower():
        no2=random.randint(2, 50)
        math_func(guesses=4, no1=random.randint(2, no2), no2=no2, data_type=int, operator=3, str_op='÷', full_op_text='h')
        replay_or_exit()
    elif mode_opt == 'I'.lower():
        math_func(guesses=4, no1=random.randint(2, 100), no2=random.randint(2, 100), data_type=int, operator=3, str_op='÷', full_op_text='i')
        replay_or_exit()
    elif mode_opt == 'C'.lower():
        math_func(guesses=5, no1=round(random.uniform(2, 100), 2), no2=round(random.uniform(2, 100), 2), data_type=float, operator=3, str_op='÷', full_op_text='c')
        replay_or_exit()
python random division
1个回答
0
投票

我建议,不要生成两个随机数,直到它们可整除,而是生成两个数字 ab 并将它们相乘,这样结果 c 将始终可以被 a整除b。然后,您可以将

no1
no2
(如果我理解正确的话,这是玩家应该除的数字)设置为例如ca,并期望结果为 b

© www.soinside.com 2019 - 2024. All rights reserved.