Python:计算字符串中有多少个字母

2024-09-28 22:11:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个基本的密码检查程序,每当用户使用两次尝试输入正确的密码,我应该打印一个提示,关于多少字母在他们的密码。 Password是我存储正确字符串的变量。在

elif attempts == 1:
        letters = 0 
        for i in password:
            if password[i].isaplha():
                letters = letters + 1
        print('There are',letters,'letters in your password')

我的代码给出了错误

^{pr2}$

我做错什么了?在


Tags: 字符串用户in密码forif字母password
3条回答

方法返回true如果字符串中只有字母字符,它不告诉字符串的长度,可以这样做 print('你有',len(密码),'密码中的字母')

您也可以使用regex来实现这一点。在

import re
password = 'hE1Ar'
lett_count = len(re.findall('[A-z]', password))

更新/更正:

^{pr2}$

这里有两个问题。在

  • for i in password正在迭代password中的实际字符,而不是它们的索引,因此您应该检查i.isalpha()。在
  • 字符串方法不是isaplha,而是isalpha。在

在保持现有方法的同时解决这些问题

... 
elif attempts == 1:
    letters = 0 
    for i in password:
        if i.isalpha():
            letters = letters + 1
    print('There are',letters,'letters in your password')

如果你想做得更简洁一点,你可以sum一个基于每个字符是否isalpha的布尔生成器,使用Python中True1的事实。在

^{pr2}$

相关问题 更多 >