count
은 로컬 변수이기 때문에. countVowels
기능에 대해서만 정의됩니다. 또한 countVowels
함수 만 정의하고 실행하지 마십시오.
다음
def main(x):
print(x)
def countVowels():
vowels = "aeiouAEIOU"
count = 0
string = raw_input("enter a string:")
for i in string:
if i in vowels:
count += 1
return count
main(countVowels())
countVowels
반환 카운트를 한 다음 그것을 인쇄하거나 변수에 할당하거나 어떤 작업을 수행 할 수 있습니다 그래서 count
당신은 대신이 작업을 수행 할 수
... 심지어 함수 내에서 생성되지 않습니다 그것과 함께 원한다. 또한 몇 가지 다른 오류가 수정되었습니다 ... 즉, 함수 인수 string
은 실제로 사용자 입력으로 사용하면 유용하지 않습니다. 다른 주제에
, 당신은 당신의 수가 좀 더 파이썬 만들 수 있습니다
sum(letter in vowel for letter in string)
는 또한, 여기에 내가 당신의 결과를 인쇄하는 완전히 새로운 기능을 만들 필요가 표시되지 않습니다 ... 그냥 print(countVowels())
을하면 끝났습니다.
또 다른 개선은 당신이 정말로 그들 사이를 구분하지 않기 때문에, 소문자 걱정하는 것입니다 : 대신 사용자 입력을 복용 주어진 단어에 모음을 계산하려는 경우
vowels = "aeiou"
string = string.lower()
당신 (위에서 개량 된 것을 포함하여) 이렇게 할 수 있습니다 :
def countVowels(string):
vowels = "aeiou"
string = string.lower()
return sum(letter in vowel for letter in string)
print(countVowels("some string here"))
for 문이나 for 문에서 대문자로 된 모음이 필요하지 않습니다. lower() 그러면 문자열의 모든 문자가 소문자 –