用户输入中有多少个数字和字母?

时间:2017-04-20 13:45:19

标签: python tkinter

我已经获得了我的代码基础:

from tkinter import *

def clik(z=None):
    global T
    s = T.get("1.0",'end-1c')
    ## what next?

o= Tk()

T=Text(o, height=20, width=50)
T.pack()
T.bind("<Key>", clik)

o.mainloop()

每次用户在Text小部件内输入内容时,我都会使用函数来收集输入。现在的目标是看看他使用了多少数字和字母。如果用户输入看起来像&#39;那么拆分并使用isalpha()和isalnum()进行检查就不会那么好用了。 Abs3 asdasd asd11 111 11ss&#39;。如果我想获得有关Text小部件中当前数字和字母数量的信息,如何在Text小部件中保持跟踪和存储用户输入? 提前谢谢

2 个答案:

答案 0 :(得分:1)

迭代字符串。

def click(event):
    chars, nums = 0,0
    for char in T.get("1.0","end-1c"):
        if char.isalpha(): chars += 1
        elif char.isdigit(): nums += 1

    print("Characters: %d Numbers: %d"%(chars, nums))

答案 1 :(得分:1)

要获得字母和数字字符(不是单词)的计数,请不要在空格上分割,单独检查每个字符。

s = ' Abs3 asdasd asd11 111 11ss'

alpha_count = 0
digit_count = 0
for c in s:    ## here we are looping over every character in the string
    if c.isalpha():
        alpha_count += 1
    elif c.isdigit():
        digit_count += 1

print(alpha_count, digit_count)

(14,8)