파이썬 Tkinter module에서 텍스트를 여러줄 출력하고 싶습니다.
조회수 1986회
import random as rd
def lottery_number():
num = int(number.get())
for i in range(num):
lotto_list = list(range(1,46)) #from 1 to 45
rd.shuffle(lotto_list) #shuffle
lotto_list1 = lotto_list[:6]
lotto_list1.sort() #sorting
answer = '{} Auto'.format(i), lotto_list1
result.config(text=answer)
from tkinter import *
window = Tk()
label = Label(window, text = 'press lottery game number.')
label.pack()
number =Entry(window, width = 30)
number.pack()
btn = Button(window, text = 'Click', fg = 'blue', command = lottery_number)
btn.pack()
result = Label(window, text = 'Result')
result.pack()
window.mainloop()
결과값이 이렇게 한줄로 출력되어서 수정하고 싶습니다.
for문에 문제가 있는지 싶어서 print해보았느데 for문은 정상적으로 여러줄 출력되더군요
{1} Auto 3, 5, 9, 30 ,33
{2} Auto 4, 6, 9, 23 ,44
{3} Auto 1, 7, 9, 20 ,26
위와 같은 결과를 원합니다.
사실은 아래와 같이 알파벳으로 순서를 정렬하여 tkinter window에 출력하고 싶습니다. 알파벳정렬은 방법을 모르겠어서.. 도움부탁드립니다.
{A} Auto 3, 5, 9, 30 ,33
{B} Auto 4, 6, 9, 23 ,44
{C} Auto 1, 7, 9, 20 ,26
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
아래 코드 참고하세요.
- 코드
import random as rd def lottery_number(): num = int(number.get()) answer = '' for i in range(num): lotto_list = list(range(1,46)) #from 1 to 45 rd.shuffle(lotto_list) #shuffle lotto_list1 = lotto_list[:6] lotto_list1.sort() #sorting answer += '{' + '%s' % chr(ord('A') + i) + '} Auto ' for j in range(len(lotto_list1)): answer += '%2s' % lotto_list1[j] if j != len(lotto_list1)-1: answer += ', ' if i != num-1: answer += '\n' result.config(text=answer) from tkinter import * window = Tk() label = Label(window, text = 'press lottery game number.') label.pack() number = Entry(window, width = 30) number.pack() btn = Button(window, text = 'Click', fg = 'blue', command = lottery_number) btn.pack() result = Label(window, text = 'Result', font = 'TkFixedFont') result.pack() window.mainloop()
- 결과
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력