Consider a Python program that takes a sentence, which may contain both uppercase and lowercase letters, spaces, and punctuation, and prints the number of vowels present.
Snippet-1:
```
sentence = input()
count = 0
vowels = set("aeiouAEIOU")
for char in sentence:
if char in vowels:
count += 1
print(count)
```
Snippet-2:
```
sentence = input()
count = 0
for char in sentence.lower():
if char in ['a', 'e', 'i', 'o', 'u']:
count += 1
print(count)
```
Which of these two snippets is correct?