【1,2,3,~100】数字の連番出力スクリプト
数値をカンマで区切った 連番数値出力 スクリプトをつくってみた pic.twitter.com/GrIFDWefBA
— しゃりンこ (@syarinco) July 17, 2024
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ファイル
この記事が気に入ったらサポートをしてみませんか?