2016-09-10 11 views
-5
cnt = 0 
s = 'aghe' 
s_len = len(s) 
s_len = s_len - 1 
while s_len >= 0: 
    if s[s_len] in ('aeiou'): 
     cnt += 1 
    s_len -= 1 
    break; 
print ('numofVowels:'),cnt 

これはcntの値を出力します。デバッグ時にcntに正しい値があります!デバッグ時に出力される値は異なります

+0

1つのことのために ';'の後に ';'を取り除く。あなたが助けたいと思う問題は何ですか? – elethan

+2

あなたの質問は何ですか? – RafaelC

+0

Python 2または3?印刷するか、印刷しませんか? – user2357112

答えて

0

あなたは(括弧の外にそれを持つこと、それは、Python 3で印刷しない原因となります)breakを取り除きたい、とあなたprintコールのためのカッコ内のcntが含まれていることを確認します。

cnt = 0 
s = 'aghe' 
s_len = len(s) 
s_len = s_len - 1 

while s_len >= 0: 
    if s[s_len] in ('aeiou'): 
     cnt += 1 
    s_len -= 1 
print('numofVowels:', cnt) 

whileループのbreakは、ループを1回だけ実行してから停止します(break秒)。これは、文字列内のすべての母音を数えようとした場合にはおそらく必要ありません。また、breakを使用する必要がある場合は、セミコロンの後に続けてください。;これにより、Pythonでは構文エラーが発生することはありませんが、この場合は必要ありません。また、複数の文をPythonの1行に入れるためにのみ使用されます(例:import pdb; pdb.set_trace())。

関連する問題