【发布时间】:2012-09-13 02:05:54
【问题描述】:
我的程序应该检查输入单词的前三个字母是否与预定义的单词相似。
我已经用 Tkinter 制作了一个 GUI,并且想要获取输入字段的字母。
不知何故,我无法像没有 Tkinter 那样实现它。
这就是我为 shell 做的:
text = raw_input('Enter a word: ')
if (text[0] + text[1] + text[2] == 'sag'):
print "sagen"
else:
print "error"
所以,当我输入“sagst”这个词时,它会检查前三个字母并应该输出“sagen”。工作正常。
我了解到,例如inputfield.get() 获取条目“inputfield”的输入。
但是如何检查该“inputfield”的第一个字母?
一小部分:
from Tkinter import*
root = Tk()
def check():
if (text[0] + text[1] + text[2] == 'sag'):
print "True"
else:
print "False"
inputfield = Entry(root)
inputfield.pack()
but = Button(root,text='Check!', command = check)
but.pack()
text = inputfield.get()
root.mainloop()
不起作用...
希望您能理解我的问题并尽快回答。 (抱歉我的英语不好和 Python 技能不好);-)
谢谢!
【问题讨论】:
-
提示:切片在字符串上效果很好:
text[:3] == 'sag'。更好的是,python 字符串有一个.startswith()函数:text.startswith('sag')。 -
你说它“不起作用”是什么意思,它做错了什么? 此外,您可以对文本进行切片:
text[0:3],与text[0] + text[1] + text[2]相同。