2015-01-16 56 views
0

我在python新,我有这样的代码:如何在Python中测试字符串?

s = 'azcbobobegghakl' 
for (i, item) in enumerate(s):  
    print item 

for (i, item) in enumerate(s): 
    if item=="a" or item=="e" or item=="i" or item=="o" or item=="u" 
    vol++ 
    print vol 

第一的作品货物,并显示每个字符应该的。 对于第二个对我有这样的错误:

if item=="a" or item=="e" or item=="i" or item=="o" or item=="u" 
                    ^
SyntaxError: invalid syntax 

我搜索这个职位,但是它没有解决Pythonic String Testing

+2

你忘了':'了'if'块之后。 –

+3

如果'aeiouAEIOU'中的项目''in':'' – iCodez

回答

3

为什么你列举当你从不使用i的值?

s = 'azcbobobegghakl' 
for letter in s:  
    print letter 

其他循环缺少冒号和缩进。

vol = 0 
for letter in s: 
    if letter in 'aeiou': 
     vol += 1 
print vol 

你也可以做这样的:

print sum(letter in 'aeiou' for letter in s) 
+0

最后一个可能有点混乱,因为关键字'in'有两种不同的用法。 –

+0

我是一名PHP开发人员。我开始学习python。这就是为什么它是一个基本问题。顺便说一句,你的代码是好的。它打印5但显示错误。 %运行“C:/ Users/Rayn/PYTHON DOCS/6.00.1X/pset0Test.py”。任何想法? – zwitterion

+0

什么是错误? –

2

您需要结肠末

if item=="a" or item=="e" or item=="i" or item=="o" or item=="u": 

这里有一个更紧凑的解决方案:

if item in ['aeiou']: 
+3

'您可以真正简化您的代码。您在'if'语句中的条件是错误的。它应该是'如果'aeiou''中的项目。否则条件只有当item是字符串'aeiou'时才是真的。 – Guillermo

0

您忘记了:在if的结尾处。下一行必须缩进。

1

缺少冒号:

for (i, item) in enumerate(s): 
    if item=="a" or item=="e" or item=="i" or item=="o" or item=="u": 
     vol+=1 
     print vol 

这应该工作。

编辑: 我忘了提及Python没有++运算符。

+0

我仍然有一个错误vol ++^SyntaxError:无效的语法 – zwitterion

+0

++语法不在python中使用。改用+ = 1。 –

1

您在if声明后忘记了:。您还必须使用vol++print vol缩进这些行。 此外,python中的递增由+=1完成,而不是由++完成。

for (i, item) in enumerate(s): 
    if item=="a" or item=="e" or item=="i" or item=="o" or item=="u": 
     vol+=1 
     print vol 
+0

这工作。但它输出%运行“C:/ Users/Rayn/PYTHON DOCS/6.00.1X/pset0Test.py”。任何想法是什么? – zwitterion

相关问题