嘿嘿!我正在處理更大的代碼,我想從用戶那里獲取文本,并檢查用戶是否輸入了正確的單詞。不幸的是,使用輸入框不是一種選擇,因為答案可能有幾行長......下面鏈接了一個縮短的代碼。先感謝您 :)
from tkinter import *
window=Tk()
def checking():
if text.get(1.0,END) == 'correct':
print('YESS')
else:
print('NOOOO')
print(text.get(1.0,END))
text=Text(window)
gomb=Button(window, command=checking, text='Check')
text.insert(1.0,'correct')
text.pack()
gomb.pack()
window.mainloop()
uj5u.com熱心網友回復:
小Text部件會在小部件中資料的最后自動添加換行符。當你這樣做時,text.get(1.0,END)你會得到這個額外的換行符。要僅獲取用戶輸入或程式輸入的資料,請使用字串"end-1c"(“end”減去一個字符)。
if text.get("1.0", "end-1c") == "correct"
...
根據您希望比較的嚴格程度或松散程度,您可能需要考慮在開始和結束時洗掉所有空格,以防用戶意外按下空格并且沒有意識到:
data = text.get("1.0", "end-1c").strip()
if data == "correct":
...
注意:文本索引不是浮點數。它們是line.character形式的字串。一些浮點數會起作用(例如,1.0作為資料的開頭),但其他的則不會。例如,浮點數1.10的處理方式與 相同1.1。最好養成始終使用字串的習慣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/512046.html
標籤:tkinter
