DevGang
Авторизоваться

Создание генератора случайных мобильных номеров на Python с использованием Tkinter

В этом уроке мы попытаемся создать генератор случайных мобильных номеров с помощью Tkinter. Tkinter — отличная библиотека для создания приложений с графическим интерфейсом. В этом уроке мы увидим пошаговый подход к созданию приложения с его использованием, которое генерирует случайный номер мобильного телефона. Звучит интересно? Давайте начнем!

Шаги по созданию приложения-генератора случайных мобильных номеров

Поскольку уже ясно, что мы собираемся использовать случайную функцию, давайте посмотрим, как мы можем реализовать эту логику и объединить ее с Tkinter, чтобы создать это забавное приложение. Давайте посмотрим пошаговый процесс.

Шаг 1. Импорт модулей

Во-первых, мы импортируем необходимые модули для построения графического интерфейса и генерации случайных чисел:

  • tkinter: предоставляет инструменты для создания графических пользовательских интерфейсов.
  • random: позволяет генерировать случайные числа.
import tkinter as tk
import random

Этот импорт будет работать только в том случае, если установлен Tkinter. Если нет, вы можете сделать это, выполнив данную команду:

pip install tk

Шаг 2. Определите функцию для генерации номера мобильного телефона

Затем мы определим функцию gener_number() для генерации случайного номера мобильного телефона:

  • rand.choice('123456789'): выберите случайную цифру от 1 до 9 в качестве первой цифры (убедившись, что она не равна нулю).
  • rand.choices('0123456789', k=9): генерирует строку из 9 случайных цифр.
  • result_label.config(text="Generated Mobile Number:" + mobile_number): обновляет текст метки для отображения сгенерированного номера мобильного телефона.
def generate_number():
    mobile_number = random.choice('123456789') + ''.join(random.choices('0123456789', k=9))
    result_label.config(text="Generated Mobile Number: " + mobile_number)

Шаг 3. Создайте главное окно

Теперь создадим главное окно для приложения с графическим интерфейсом:

  • tk.Tk(): создает главное окно.
  • root.title("Random Mobile Number Generator"): устанавливает заголовок окна.
  • root.configure(bg="#CADCFC"): устанавливает цвет фона окна.
root = tk.Tk()
root.title("Random Mobile Number Generator")
root.configure(bg="#CADCFC")  

Шаг 4. Создайте метку для запроса действия пользователя

Далее мы создадим метку, предлагающую пользователю совершить действие:

  • tk.Label(root, text="Click on the button below", bg="#CADCFC", font=("Arial", 12)): создает виджет метки.
  • prompt_label.pack(pady=10): упаковывает метку в окно с вертикальным заполнением.
prompt_label = tk.Label(root, text="Click on the button below", bg="#CADCFC", font=("Arial", 12))
prompt_label.pack(pady=10)

Шаг 5. Создайте кнопку для генерации номера мобильного телефона

Затем мы создадим кнопку для запуска генерации мобильных номеров:

  • tk.Button(root, text="Generate Mobile Number", command=generate_number, bg="#00246B", fg="white", font=("Arial", 12)): создает виджет кнопки.
  • generate_button.pack(pady=5): упаковывает кнопку в окно с вертикальным заполнением.
generate_button = tk.Button(root, text="Generate Mobile Number", command=generate_number, bg="#00246B", fg="white", font=("Arial", 12))
generate_button.pack(pady=5)

Шаг 6. Создайте метку для отображения сгенерированного номера мобильного телефона

Теперь создадим метку для отображения сгенерированных номеров мобильных телефонов:

  • tk.Label(root, text="", bg="#CADCFC", font=("Arial", 12)): создает виджет метки.
  • result_label.pack(pady=10): упаковывает метку в окно с вертикальным заполнением.
result_label = tk.Label(root, text="", bg="#CADCFC", font=("Arial", 12))
result_label.pack(pady=10)

Шаг 7: Запустите цикл событий

Наконец, мы запустим цикл событий Tkinter, который прослушивает действия пользователя и соответствующим образом обновляет графический интерфейс:

  • root.mainloop(): запускает основной цикл событий до тех пор, пока пользователь не закроет окно, сохраняя при этом отзывчивость приложения с графическим интерфейсом.
root.mainloop()

Полный код

import tkinter as tk
import random
 
 
def generate_number():
    # Generating a random mobile number with 10 digits, ensuring the first digit is not zero
    mobile_number = random.choice('123456789') + ''.join(random.choices('0123456789', k=9))
    result_label.config(text="Generated Mobile Number: " + mobile_number)
 
 
# Creating the tkinter window
root = tk.Tk()
root.title("Random Mobile Number Generator")
root.configure(bg="#CADCFC")  
 
# Creating a label prompting the user to click the button
prompt_label = tk.Label(root, text="Click on the button below", bg="#CADCFC", font=("Arial", 12))
prompt_label.pack(pady=10)
 
# Creating a button to generate a random mobile number
generate_button = tk.Button(root, text="Generate Mobile Number", command=generate_number,
                            bg="#00246B", fg="white", font=("Arial", 12))  
generate_button.pack(pady=5)
 
# Creating a label to display the generated mobile number
result_label = tk.Label(root, text="", bg="#CADCFC", font=("Arial", 12))
result_label.pack(pady=10)
 
# Running the tkinter event loop
root.mainloop()

Вывод

Когда вы запустите код, появится окно графического интерфейса со светло-голубым фоном.

В окне отобразится метка, предлагающая нажать кнопку ниже. Под надписью будет кнопка «Generate Mobile Number».

Окно приложения
Окно приложения

При нажатии на эту кнопку будет сгенерирован случайный 10-значный номер мобильного телефона, при этом первая цифра не равна нулю. Сгенерированный номер появится под кнопкой. Вы можете нажать кнопку несколько раз, чтобы сгенерировать разные числа, при этом каждое новое число заменяет ранее сгенерированное.

Отображает сгенерированный номер<br>
Отображает сгенерированный номер

Заключение

На этом статья завершается. Мы надеемся, что эта демонстрация предоставила вам реализацию функции случайных чисел в Python. Благодаря Tkinter мы смогли создать приложение, использующее эту логику. Теперь мы надеемся, что вы сможете создавать свои собственные генераторы случайных чисел.

Источник:

#Python
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу