我已被标记为'发布一个重复的问题。然而,我的问题并不相同,因为其他程序员正在询问如何计算字符串中特定字符的出现次数"。我的输出不计算特定字符的出现次数,而是计算字符串中特定字符(所有元音)的总数。例如,另一个人正在寻找输出:
A:1 E:6 I:2
我也在寻找总数,所以我的输出应该是:9
(我们在两个代码中都说同一个字符串)。"
我创建了一段代码,但由于某种原因它会计算所有字母,而不仅仅是元音。我无法弄清楚我错在哪个部分。
vowels = 'a', 'e', 'i', 'o', 'u'
ip_str = raw_input("Enter a string: ")
ans = str(raw_input)
count = (0)
for letters in ans:
if letters in vowels:
count += 1
print str(count)
答案 0 :(得分:3)
您将输入存储在ip_str
变量中,但您再也不会实际使用该变量。您希望在迭代时使用该变量。请注意,在您的代码中有:
>>> str(raw_input)
'<built-in function raw_input>'
这实际上获取了内置函数的名称,并将其存储在ans
而不是您的输入中。因此,每次运行时,您都会在'<built-in function raw_input>'
而不是输入中获得元音数量,这将始终为9。
答案 1 :(得分:0)
我已经修改了一些代码,这对我来说完全没问题。
vowels = 'a', 'e', 'i', 'o', 'u'
inp = input("Enter a string: ")
count = 0
for letters in inp:
if letters in vowels:
count += 1
print("Count: " + str(count))
答案 2 :(得分:0)
raw_input("string")
这是一个函数,它接受一个字符串作为参数,打印该字符串,从用户获取输入,然后将其存储在您存储整个函数的valueable中(如:variable1 = raw_input(“string”)将提示您使用“string”然后等待输入,然后将输入存储在variable1)
中答案 3 :(得分:0)
我们在这里遇到了一些问题。首先,让我纠正它,然后我会解释:
vowels = ('a', 'e', 'i', 'o', 'u')
ans = raw_input("Enter a string: ")
count = 0
for letters in ans:
if letters in vowels:
count += 1
print str(count)
raw_input
是一个函数,而不是一个变量。我认为你的意思是str(ip_str)
,但是没有必要这样做,因为raw_input
将始终返回一个字符串:
然后函数从输入中读取一行,将其转换为字符串(剥离尾部换行符),然后返回该行。
因此,我们可以直接设置ans = raw_input("Enter a string: ")
。
现在,对于一些风格问题:vowels
是一个元组,并且在()
周围放置它会使它更清晰。无论哪种方式都可以。 count
只是一个简单的int
,并且在定义中不需要任何()
。
简而言之,唯一真正错误的是你如何定义ans
。