tkinter로 fizzbuzz를 결정하는 GUI를 만들어 보았습니다.
코드
tkfizzbuzz.py!/usr/bin/env python
-*- coding: utf-8 -*-
from tkinter import *
from tkinter import ttk
root = Tk()
root.title(u'Fizz Buzz')
#FizzBuzzを判定する関数
def fizzbuzz(n):
fzbz = "Fizz Buzz"
fz = "Fizz"
bz = "Buzz"
try:
n = int(n)
except ValueError:
return Entry1.delete(0, END)
if n % 15 == 0:
resltfizbuz(fzbz)
elif n % 3 == 0:
resltfizbuz(fz)
elif n % 5 == 0:
resltfizbuz(bz)
else:
resltfizbuz(n)
Entry1.delete(0,END)
#判定結果をリストボックスに書き込む
def resltfizbuz(reslt):
Listbox1.insert(END,reslt)
Listbox1.yview_scroll(5, UNITS)
#フレーム
frame = Frame(root,width=30)
frame.grid()
#エントリー
Entry1 = Entry(frame, width=30)
Entry1.bind("<Return>", lambda event:fizzbuzz(Entry1.get()))
Entry1.grid(row=0)
#リストボックス
Listbox1 = Listbox(frame, width=30)
Listbox1.grid(row=1, column=0)
#スクロールバー
Scroll = ttk.Scrollbar(frame, orient=VERTICAL, command=Listbox1.yview)
Listbox1['yscrollcommand'] = Scroll.set
Scroll.grid(row=1, column=1, sticky=(N,S))
#ボタン
Button1 = Button(frame,text=u'FizzBuzz',command=lambda: fizzbuzz(Entry1.get()))
Button1.grid(row=2)
root.mainloop()
코드 설명
#FizzBuzzを判定する関数
def fizzbuzz(n):
fzbz = "Fizz Buzz"
fz = "Fizz"
bz = "Buzz"
try:
n = int(n)
except ValueError:
return Entry1.delete(0, END)
if n % 15 == 0:
resltfizbuz(fzbz)
elif n % 3 == 0:
resltfizbuz(fz)
elif n % 5 == 0:
resltfizbuz(bz)
else:
resltfizbuz(n)
Entry1.delete(0,END)
숫자를 입력하면 fizzbuzz를 판정하고, 3의 배수라면 fizz, 5의 배수라면 buzz, 15의 배수라면 fizzbuzz, 그 이외의 숫자는 그대로 반환합니다.
int 이외는 지웁니다.
#判定結果をリストボックスに書き込む
def resltfizbuz(reslt):
Listbox1.insert(END,reslt)
Listbox1.yview_scroll(5, UNITS)
fizzbuzz 결과를 목록 상자에 삽입합니다.
목록 상자의 높이 이상으로 결과가 삽입되면 스크롤이 번거롭기 때문에 yview_scroll로 아래로 스크롤합니다.
#エントリー
Entry1 = Entry(frame, width=30)
Entry1.bind("<Return>", lambda event:fizzbuzz(Entry1.get()))
Entry1.grid(row=0)
숫자를 넣는 항목을 맨 위에 만듭니다.
Entry1.bind("", lambda event:fizzbuzz(Entry1.get()))에서,
Enter 키를 누르면 입력한 값을 fizzbuzz 함수가 수신하도록 설정합니다.
주 : 반각의 <>라고 왠지 이 사라져 버리므로 전각으로 쳤습니다.
#リストボックス
Listbox1 = Listbox(frame, width=30)
Listbox1.grid(row=1, column=0)
fizzbuzz의 판정 결과를 출력하는 리스트 박스입니다.
#スクロールバー
Scroll = ttk.Scrollbar(frame, orient=VERTICAL, command=Listbox1.yview)
Listbox1['yscrollcommand'] = Scroll.set
Scroll.grid(row=1, column=1, sticky=(N,S))
목록 상자에 세로 스크롤 막대를 설정합니다.
sticky=(N,S)로 목록 상자와 같은 높이로 스크롤 막대를 늘립니다.
#ボタン
Button1 = Button(frame,text=u'FizzBuzz',command=lambda: fizzbuzz(Entry1.get()))
Button1.grid(row=2)
엔트리의 값을 get() 로 받아 fizzbuzz 에 건네줍니다.
Reference
이 문제에 관하여(tkinter로 fizzbuzz를 결정하는 GUI를 만들어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fsdfdsaff/items/5292b63d644e8a265c56
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
!/usr/bin/env python
-*- coding: utf-8 -*-
from tkinter import *
from tkinter import ttk
root = Tk()
root.title(u'Fizz Buzz')
#FizzBuzzを判定する関数
def fizzbuzz(n):
fzbz = "Fizz Buzz"
fz = "Fizz"
bz = "Buzz"
try:
n = int(n)
except ValueError:
return Entry1.delete(0, END)
if n % 15 == 0:
resltfizbuz(fzbz)
elif n % 3 == 0:
resltfizbuz(fz)
elif n % 5 == 0:
resltfizbuz(bz)
else:
resltfizbuz(n)
Entry1.delete(0,END)
#判定結果をリストボックスに書き込む
def resltfizbuz(reslt):
Listbox1.insert(END,reslt)
Listbox1.yview_scroll(5, UNITS)
#フレーム
frame = Frame(root,width=30)
frame.grid()
#エントリー
Entry1 = Entry(frame, width=30)
Entry1.bind("<Return>", lambda event:fizzbuzz(Entry1.get()))
Entry1.grid(row=0)
#リストボックス
Listbox1 = Listbox(frame, width=30)
Listbox1.grid(row=1, column=0)
#スクロールバー
Scroll = ttk.Scrollbar(frame, orient=VERTICAL, command=Listbox1.yview)
Listbox1['yscrollcommand'] = Scroll.set
Scroll.grid(row=1, column=1, sticky=(N,S))
#ボタン
Button1 = Button(frame,text=u'FizzBuzz',command=lambda: fizzbuzz(Entry1.get()))
Button1.grid(row=2)
root.mainloop()
#FizzBuzzを判定する関数
def fizzbuzz(n):
fzbz = "Fizz Buzz"
fz = "Fizz"
bz = "Buzz"
try:
n = int(n)
except ValueError:
return Entry1.delete(0, END)
if n % 15 == 0:
resltfizbuz(fzbz)
elif n % 3 == 0:
resltfizbuz(fz)
elif n % 5 == 0:
resltfizbuz(bz)
else:
resltfizbuz(n)
Entry1.delete(0,END)
#判定結果をリストボックスに書き込む
def resltfizbuz(reslt):
Listbox1.insert(END,reslt)
Listbox1.yview_scroll(5, UNITS)
#エントリー
Entry1 = Entry(frame, width=30)
Entry1.bind("<Return>", lambda event:fizzbuzz(Entry1.get()))
Entry1.grid(row=0)
Enter 키를 누르면 입력한 값을 fizzbuzz 함수가 수신하도록 설정합니다.
주 : 반각의 <>라고 왠지
#リストボックス
Listbox1 = Listbox(frame, width=30)
Listbox1.grid(row=1, column=0)
fizzbuzz의 판정 결과를 출력하는 리스트 박스입니다.
#スクロールバー
Scroll = ttk.Scrollbar(frame, orient=VERTICAL, command=Listbox1.yview)
Listbox1['yscrollcommand'] = Scroll.set
Scroll.grid(row=1, column=1, sticky=(N,S))
목록 상자에 세로 스크롤 막대를 설정합니다.
sticky=(N,S)로 목록 상자와 같은 높이로 스크롤 막대를 늘립니다.
#ボタン
Button1 = Button(frame,text=u'FizzBuzz',command=lambda: fizzbuzz(Entry1.get()))
Button1.grid(row=2)
엔트리의 값을 get() 로 받아 fizzbuzz 에 건네줍니다.
Reference
이 문제에 관하여(tkinter로 fizzbuzz를 결정하는 GUI를 만들어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fsdfdsaff/items/5292b63d644e8a265c56텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)