機能説明
数値を入力します。
素数出力ボタンを押下すると素数がテキストボックスに出力されます。
出力先フォルダを選択して素数ファイルを作成します。
プログラム画像
入力画像
製造プログラム
import tkinter
import os
from tkinter import filedialog
import pathlib
def prime_numberv1():
"""
Args:
num (int): 引数で数値が渡される
Returns:
_type_: listで素数が返って来る。
"""
num = int(txt_1.get())
primes = [] # 空のリストを準備する
for i in range(2, num+1):
for j in range(2, i):
if i % j == 0: # 0で割り切れた場合は素数ではない。
break
else:
primes.append(i)
txt_2.delete(0, tkinter.END)
txt_2.insert(0, primes)
def folder_click():
dir = 'C:\\'
fld = filedialog.askdirectory(initialdir = dir)
txt_3.delete(0, tkinter.END) # 削除の処理
txt_3.insert(0,fld)
def create_text():
file_name = '素数'
path = txt_3.get() +'/'+ file_name +'.txt' # 選択したフォルダのパスを受け取る。
f = open(path, 'w', encoding='utf-8')
f.write(txt_2.get())
f.close()
# 画面作成
root = tkinter.Tk()
root.geometry('450x350')
root.title('素数判定')
root.configure(bg='SpringGreen2') # 色の設定
# ラベル
lbl_1 = tkinter.Label(text='数値入力')
lbl_1.place(x=80, y=120)
# ラベル
lbl_2 = tkinter.Label(text='素数')
lbl_2.place(x=80, y=150)
# ラベル
lbl_2 = tkinter.Label(text='出力先フォルダ')
lbl_2.place(x=80, y=180)
# テキストボックス
txt_1 = tkinter.Entry(width=10)
txt_1.place(x=160, y=120)
# テキストボックス
txt_2 = tkinter.Entry(width=30)
txt_2.place(x=160, y=150)
txt_3 = tkinter.Entry(width=20)
txt_3.place(x=160, y=180)
btn = tkinter.Button(root, text='素数出力', command=prime_numberv1) # 素数を出力
btn.place(x=150, y=210)
btn = tkinter.Button(root, text='フォルダ選択', command=folder_click) # フォルダ選択ボタン
btn.place(x=220, y=210)
btn = tkinter.Button(root, text='ファイル出力', command=create_text) # ファイル出力ボタン
btn.place(x=220, y=240)
root.mainloop()
実際に出力されたテキストファイル
以上になります。