2015-01-16 80 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

相關問題