请原谅我的无聊。在过去的6个月里,我一直在阅读python书籍和网站,因为我真的非常想学习它,但偶尔我会遇到一个障碍,我只是不明白为什么最简单的代码不起作用。
我已经看了很多堆栈溢出的答案,但无济于事。
我正在进行一些明确需要使用python for循环计数器系统的练习(我知道有一个叫做itertools和enumerate的东西)。请参阅以下内容:
>>> a = raw_input('Please enter a 7-digit number: ')
Please enter a 7-digit number: 7893848
>>> b = raw_input('Please enter a single digit number: ')
Please enter a single digit number: 8
for i in a:
count = 0
if i == b:
count += 1
print count
输出:
0
1
0
0
1
0
1
我如何让它返回3的总和 - 即变量a中的8的数量?
答案 0 :(得分:2)
您在每个循环周期中将计数器设置为零。你必须在循环外定义它。尝试:
c=0
for i in range(10):
print c
c+=1
如果您只想打印变量中8的次数,则还必须将print语句保留在循环之外,因此只有在循环耗尽后才会打印:
a='7893848'
b='8'
count=0
for i in a:
if i==b:
count+=1
print count
答案 1 :(得分:2)
Python字符串对象具有count()
方法,可以满足您的需要:
print(a.count('8'))
或
print(a.count(b))
应该这样做。