Hướng dẫn how do you count the number of vowels in a string python for loop? - làm thế nào để bạn đếm số nguyên âm trong một chuỗi python for vòng lặp?

Mã Python:

sentence = input('Enter a string:') vowel = 'A,a,E,e,I,i,O,o,U,u' Count = 0 for vowel in sentence: Count += 1 print('There are {} vowels in the string: \'{}\''.format(Count,sentence))

Tôi đang cố gắng viết một chương trình nhắc người dùng nhập chuỗi. Chương trình sau đó trả về số lượng nguyên âm trong chuỗi. Tuy nhiên, mã chỉ trả về số lượng chữ cái, mà không quan tâm đến việc chỉ trả lại nguyên âm.

Hỏi ngày 25 tháng 9 năm 2017 lúc 3:13Sep 25, 2017 at 3:13

8

Bạn đã xác định một chuỗi nguyên âm, nhưng đang xác định lại các nguyên âm biến trong vòng lặp.

Tôi khuyên bạn nên xác định vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 3 nguyên âm, và sau đó tăng bộ đếm của bạn dựa trên kiểm tra vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 4.

vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1

Ở đây, vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 5 sẽ trả lại vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 6 nếu vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 7 là một nguyên âm (nghĩa là vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 7 thuộc tập hợp các nguyên âm được lưu trữ trong vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 9).

Bạn có thể cải thiện giải pháp này với đối tượng from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 0:

from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou'))

Ngoài ra, bạn có thể sử dụng from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 1 và đếm độ dài của nó.

Đã trả lời ngày 25 tháng 9 năm 2017 lúc 3:20Sep 25, 2017 at 3:20

cs95cs95cs95

347K87 Huy hiệu vàng637 Huy hiệu bạc685 Huy hiệu Đồng87 gold badges637 silver badges685 bronze badges

3

Tôi nghĩ rằng cách tốt nhất là sử dụng một regex đơn giản. Regex để khớp với nguyên âm là from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 2 (hoặc from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 3 nếu bạn cũng muốn khớp với "y").

Bạn có thể sử dụng from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 4 để tìm thấy tất cả các sự cố của một nguyên âm trong một câu, sử dụng cờ from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 5 để bỏ qua trường hợp.

>>> import re >>> sentence = "my name is Jessica" >>> len(re.findall(r'[aeiou]', sentence, flags=re.IGNORECASE)) 6

Ưu điểm của giải pháp này là bạn có thể mở rộng nó một cách dễ dàng để thêm các ký tự được nhấn hoặc ký tự Unicode khác:

>>> import re >>> sentence = "Dès Noël où un zéphyr haï me vêt de glaçons würmiens je dîne d’exquis rôtis de bœuf au kir à l’aÿ d’âge mûr & cætera !" >>> len(re.findall(r'[aeiouyàâèéêëiïîöôüûùæœÿ]', sentence, flags=re.IGNORECASE)) 41

Đã trả lời ngày 18 tháng 1 năm 2019 lúc 20:18Jan 18, 2019 at 20:18

Laurent Laportelaurent LaporteLaurent LAPORTE

20.7K5 Huy hiệu vàng54 Huy hiệu bạc95 Huy hiệu Đồng5 gold badges54 silver badges95 bronze badges

Bạn không kiểm tra ở bất cứ đâu nếu các chữ cái trong câu là nguyên âm. Cú pháp from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 6 xác định một vòng lặp trên một đối tượng có thể lặp lại (chuỗi, danh sách, v.v.) trong đó cho mỗi lần lặp vòng lặp, biến from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 7 được đặt thành phần tử tiếp theo của điều đó.

Dòng from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 8 của bạn chỉ đơn giản là xác định một vòng lặp, trong đó from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 9 được gán cho mỗi chữ cái của câu đầu vào. Tuyên bố trước đây của bạn về >>> import re >>> sentence = "my name is Jessica" >>> len(re.findall(r'[aeiou]', sentence, flags=re.IGNORECASE)) 6 0 không có hiệu lực ở đây.

Một 1-liner khá để đạt được kết quả mong muốn sẽ là:

sentence = input('Enter a string:') vowels = 'aeiou' count = len([c for c in sentence.lower() if c in vowels])

Đã trả lời ngày 25 tháng 9 năm 2017 lúc 3:20Sep 25, 2017 at 3:20

347K87 Huy hiệu vàng637 Huy hiệu bạc685 Huy hiệu ĐồngDBrowne

Tôi nghĩ rằng cách tốt nhất là sử dụng một regex đơn giản. Regex để khớp với nguyên âm là from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 2 (hoặc from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 3 nếu bạn cũng muốn khớp với "y").4 silver badges11 bronze badges

Bạn có thể sử dụng from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 4 để tìm thấy tất cả các sự cố của một nguyên âm trong một câu, sử dụng cờ from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 5 để bỏ qua trường hợp.

sentence = input('Enter a string:') vowels = 'A,a,E,e,I,i,O,o,U,u' Count = 0 for each_char in sentence: if each_char in vowels: Count += 1 print('There are {} vowels in the string: \'{}\''.format(Count,sentence))

Ưu điểm của giải pháp này là bạn có thể mở rộng nó một cách dễ dàng để thêm các ký tự được nhấn hoặc ký tự Unicode khác:Sep 25, 2017 at 3:21

Đã trả lời ngày 18 tháng 1 năm 2019 lúc 20:18Raju Pitta

Laurent Laportelaurent Laporte3 silver badges5 bronze badges

2

20.7K5 Huy hiệu vàng54 Huy hiệu bạc95 Huy hiệu Đồng

import collections vowel = ['a', 'e', 'i', 'o', 'u'] count = 0 sentence = input('Enter a string:').lower() counter = collections.Counter(sentence) for word in counter: if word in vowel: count += counter[word] print('There are {} vowels in the string: \'{}\''.format(count,sentence))

Bạn không kiểm tra ở bất cứ đâu nếu các chữ cái trong câu là nguyên âm. Cú pháp from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 6 xác định một vòng lặp trên một đối tượng có thể lặp lại (chuỗi, danh sách, v.v.) trong đó cho mỗi lần lặp vòng lặp, biến from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 7 được đặt thành phần tử tiếp theo của điều đó.Sep 25, 2017 at 3:26

1

sentence = input('Enter a string:') Count = 0 for eachLetter in sentence: if eachLetter.lower() in ['a','e','i','o','u']: Count += 1 print('There are {} vowels in the string: \'{}\''.format(Count,sentence))

Dòng from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 8 của bạn chỉ đơn giản là xác định một vòng lặp, trong đó from collections import Counter c = Counter(sentence.lower()) counter = sum(c[v] for v in set('aeiou')) 9 được gán cho mỗi chữ cái của câu đầu vào. Tuyên bố trước đây của bạn về >>> import re >>> sentence = "my name is Jessica" >>> len(re.findall(r'[aeiou]', sentence, flags=re.IGNORECASE)) 6 0 không có hiệu lực ở đây.Sep 25, 2017 at 3:27

1

Một 1-liner khá để đạt được kết quả mong muốn sẽ là:

DbrownedBrowne

sentence = 'This is a sentence' vowels = ['a','e','i','o','u'] Count = 0 for vowel in vowels: Count = Count + sentence.lower().count(vowel)

6444 Huy hiệu bạc11 Huy hiệu đồngSep 25, 2017 at 3:29

Michele87Michele87Michele87

Sử dụng Python 3:1 silver badge3 bronze badges

3

Đã trả lời ngày 25 tháng 9 năm 2017 lúc 3:21

vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 0

Raju Pittaraju Pitta

vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 1

5963 Huy hiệu bạc5 Huy hiệu Đồng

Đây là mã của tôi bằng cách sử dụng bộ sưu tập của bộ sưu tậpSep 25, 2017 at 6:55

Đã trả lời ngày 25 tháng 9 năm 2017 lúc 3:26cdlane

Đã trả lời ngày 25 tháng 9 năm 2017 lúc 3:275 gold badges27 silver badges74 bronze badges

Chúng tôi chỉ cần nguyên âm chữ thường trong danh sách vì chúng tôi chỉ biến câu thành chữ thường chỉ bằng .lower ()

vowels = set('aeiou') counter = 0 for c in sentence.lower(): if c in vowels: counter += 1 2

Đã trả lời ngày 25 tháng 9 năm 2017 lúc 3:20Sep 25, 2017 at 3:20

2

Làm thế nào để bạn đếm số lượng nguyên âm trong một chuỗi sử dụng cho vòng lặp trong Python?

Bước 1: Lấy một chuỗi từ người dùng và lưu trữ nó trong một biến. Bước 2: Khởi tạo biến đếm thành 0. Bước 3: Sử dụng vòng lặp để đi qua các ký tự trong chuỗi. Bước 4: Sử dụng câu lệnh IF để kiểm tra xem ký tự có phải là nguyên âm hay không và tăng biến số đếm nếu đó là nguyên âm.

Làm thế nào để bạn đếm tất cả các nguyên âm trong một chuỗi trong Python?

Đếm nguyên âm: Phương thức regex way findall () để tìm tất cả các nguyên âm trong chuỗi lập danh sách với chúng.Chúng tôi sử dụng LEN trên danh sách để tìm tổng nguyên âm trong chuỗi.findall() method to find all the vowels in string make list with them. We use len on list to find total vowels in string.

Làm thế nào để bạn đếm các nguyên âm trong một chuỗi?

Nếu bất kỳ ký tự nào trong chuỗi khớp với các nguyên âm (A, E, I, O, U), sau đó sẽ tăng vcount lên 1. Nếu bất kỳ ký tự nào nằm giữa 'A' và 'Z' ngoại trừ các nguyên âm, thì hãy tăng số lượng cho CCount 1.. If any character lies between 'a' and 'z' except vowels, then increment the count for ccount by 1.

Làm thế nào để bạn đếm số lượng ký tự trong một vòng lặp chuỗi trong Python?

Python..
chuỗi = "tốt nhất của cả hai thế giới" ;.
Đếm = 0 ;.
#Counts từng nhân vật ngoại trừ không gian ..
cho i trong phạm vi (0, len (chuỗi)):.
if (chuỗi [i]! = ''):.
Đếm = đếm + 1 ;.
#Displays tổng số ký tự có trong chuỗi đã cho ..
in ("Tổng số ký tự trong một chuỗi:" + str (đếm)) ;.

Chủ đề