【1,2,3,~100】数字の連番出力スクリプト

pythonコード

import tkinter as tk
from tkinter import simpledialog, scrolledtext, messagebox

def submit():
    try:
        min_value = int(min_entry.get())
        max_value = int(max_entry.get())
        if min_value <= max_value:
            number_list = list(range(min_value, max_value + 1))
            result = ", ".join(map(str, number_list))
            text_area.config(state='normal')
            text_area.delete(1.0, tk.END)
            text_area.insert(tk.END, result)
            text_area.config(state='disabled')
        else:
            messagebox.showinfo("エラー", "最小値は最大値より小さくなければなりません")
    except ValueError:
        messagebox.showinfo("エラー", "有効な数字を入力してください")

def copy_to_clipboard():
    root.clipboard_clear()
    root.clipboard_append(text_area.get(1.0, tk.END))

# ルートウィンドウを作成
root = tk.Tk()
root.title("数値範囲入力")

# 左側のフレーム(入力フィールド用)
input_frame = tk.Frame(root)
input_frame.pack(side=tk.LEFT, padx=10, pady=10)

# 最小値入力フィールド
tk.Label(input_frame, text="最小値:").grid(row=0, column=0, padx=5, pady=5)
min_entry = tk.Entry(input_frame)
min_entry.grid(row=0, column=1, padx=5, pady=5)

# 最大値入力フィールド
tk.Label(input_frame, text="最大値:").grid(row=0, column=2, padx=5, pady=5)
max_entry = tk.Entry(input_frame)
max_entry.grid(row=0, column=3, padx=5, pady=5)

# ボタン用の別のフレーム(最大値の右側)
button_frame = tk.Frame(root)
button_frame.pack(side=tk.LEFT, padx=10, pady=10)

# 提出ボタン
submit_button = tk.Button(button_frame, text="生成", command=submit)
submit_button.pack(padx=5, pady=10)

# コピーボタン
copy_button = tk.Button(button_frame, text="コピー", command=copy_to_clipboard)
copy_button.pack(padx=5, pady=10)

# テキストエリアを含む右側のフレーム
text_frame = tk.Frame(root)
text_frame.pack(side=tk.LEFT, padx=10, pady=10)

# 結果表示用のスクロール可能なテキストウィジェット
text_area = scrolledtext.ScrolledText(text_frame, width=40, height=10, state='disabled')
text_area.pack()

# ウィンドウを表示状態にする
root.mainloop()

python環境なしでも使えるexeファイル

この記事が気に入ったらサポートをしてみませんか?