Разделение без остатка

#python-3.x #tkinter #modulus

#python-3.x #tkinter #модуль

Вопрос:

Я хочу сгенерировать два случайных числа a и b

у деления b не должно быть остатка

например, 10/5 = 2

 def calculate(self, *args):
    a = self.a_value.get()
    b = self.b_value.get()
    if a % b == 0:
        c = a // b
        if c == self.answer_value.get():
             print(tk.messagebox.showinfo(title=(f"Answer", {self.answer_value.get()}),
                                         message="You are correct"))
             self.clear_text()
             self.get_random_4()
        else:
             print(tk.messagebox.showinfo(title=(f"Answer ", {self.answer_value.get()}),
                                         message="You are not correct"))
             self.clear_text()
             self.get_random_4()

def get_random_4(self):
    self.a_value.set(random.randint(12, 144))
    self.b_value.set(random.randint(1, 10))
    self.answer_input.delete(0, 'end')
    self.answer_input.focus()
  

мое приложение продолжает генерировать случайные числа, но деленное на имеет остаток.

Пожалуйста, помогите 🙂

Заранее спасибо.

Ответ №1:

Гораздо более простой способ сделать это — изменить генератор чисел на :

 self.b_value.set(random.randint(1, 12))
self.a_value.set(self.b_value.get() * random.randint(1, 12))
  

Таким образом, вы гарантируете, что ваши числа делятся друг на друга

Комментарии:

1. Привет @Karan, спасибо. ваши коды действительно работают. я пытался поддержать ваш ответ, но, поскольку я новичок, похоже, этого не происходит.