Форум сайта python.su
Здравствуйте. Вот програма:
# -*- coding: utf-8 -*-
from Tkinter import *
word_secret = 'хлеб'
def start(event):
cows, bulls = cow_bull(enterfill.get())
mainbox.insert(END, 'Тут '+str(len(cows))+ \
' коров и '+str(len(bulls))+' быков.\n')
def cow_bull(word_enter):
#Количество быков и коров в введённом слове
#word_enter введённое слово
#word_secret загаданное слово
cows = [] #Это "буквы-коровы"
bulls = [] #Это "буквы-быки"
for i in range(len(word_enter)): #перебор по всем буквам введенного
if word_enter[i] in word_secret: #если буква есть в загаданном
if (word_enter[i] == word_secret[i]): # и стоит на своем месте
bulls.append(word_enter[i]) #она бык
else: #если не на своем месте
cows.append(word_enter[i]) #корова
return cows, bulls
#---------------------------------------------------------------------------------------------
root = Tk()
root.title("Быки и коровы")
frame_1 = Frame(root)
frame_2 = Frame(root)
mainbox = Text(frame_1, width = 50, height = 25) #Окно вывода
badchars = Text(frame_2, width = 25, height = 25) #Буквы, которых нет в слове
enterfill = Entry(frame_1, width = 50) #Окошко для ввода
btn_submit = Button(frame_2, text="Ввод")
frame_1.pack(side = LEFT)
frame_2.pack(side = LEFT)
mainbox.pack(side = TOP)
badchars.pack(side = TOP)
enterfill.pack(side = TOP)
btn_submit.pack(side = LEFT)
btn_submit.bind("<Button-1>", start)
enterfill.bind("<Return>", start)
root.mainloop()
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python25\lib\lib-tk\Tkinter.py", line 1403, in __call__
return self.func(*args)
File "C:\Python25\lib\bull_.py", line 8, in start
cows, bulls = cow_bull(enterfill.get())
File "C:\Python25\lib\bull_.py", line 19, in cow_bull
if word_enter[i] in word_secret:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)
Офлайн
word_secret = u'хлеб'
Офлайн
Простите, погорячился.
Офлайн