我试图接受字符串输入并对其进行计数,但排除了某些字符,但无论我做什么,它似乎都在计算所有字符。
user_text = input()
count = 0
for i in user_text:
if i in user_text != 'a':
count += 1
print(count)
您应该检查i
是否不等于a
if i != 'a':
你试过只使用吗
if i != 'a':
更多"蟒蛇;方法可能是:
user_text = input()
count = len([True for x in user_text if x != 'a'])
print(count)
您正在做的是链接比较运算符,这不是您想要的。因为您的声明与相同
(i in user_text) and (user_text != 'a')
第一条语句始终为True,因为您对user_text
中的每个字符都进行了迭代。当user_text
为a
时,第二条语句仅为False。您可以通过输入a
作为输入来尝试此操作。
因此,为了实现你想要的,你应该像在其他答案中一样使用这句话:
if i != 'a'
小提示:当你将i
重命名为类似char
的东西时,这可能有助于你理解,因为i
最常用于从0到n的循环。例如fo i in range(10)