作者tnzikom (tnzikom)
看板Python
標題[問題] 比對字串中的母音有幾種
時間Fri Nov 3 16:39:00 2017
目前寫了判斷母音的code如下
word = input()
count = 0
a = e = i = o = u = 0
for num in word.lower():
if num in 'a':
a = 1
elif num in 'e':
e = 1
elif num in 'i':
i = 1
elif num in 'o':
o = 1
elif num in 'u':
u = 1
count = a + e + i + o + u
print(count)
自己覺得這code看起來很笨......想問是不是有更好的寫法,
另外也想問for num in word.lower()這行for的運作是怎麼樣呢?
知道word.lower()是變小寫的意思,
但num in word.lower()的意思看了很久還是不太能理解> <
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.99
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1509698343.A.F90.html
※ 編輯: tnzikom (140.112.25.99), 11/03/2017 17:09:11
1F:推 Django: for num in word.lower(): if num in 'aeiou': count += 111/03 17:38
2F:→ Django: (請自行排版) 另外你本來的寫法是錯的,aeiou的值沒有累加11/03 17:39
抱歉我打錯了!!!是要問有幾種母音
3F:推 johnlinvc: import re11/03 17:47
4F:→ johnlinvc: count=len(re.findall("[AEIOU]", word,re.I))11/03 17:48
※ 編輯: tnzikom (140.112.25.99), 11/03/2017 18:29:08
5F:→ NTUGG: str.count(....) 11/03 18:35
6F:推 Yshuan: [ch in word.lower() for ch in 'aeiou'].count(True) 11/03 21:22
7F:→ Yshuan: num in word.lower() #小寫的word是否有num變數代表的字母 11/03 21:24
8F:→ bibo9901: len( set("aeiou") & set(word) ) 11/03 22:44
9F:→ goldflower: word='ptT is Back' for num in word作用如同 11/03 23:27
10F:→ goldflower: for num in ['p','t','t',' ','i','s',' ',......] 11/03 23:28
11F:→ lance8537: 感覺好leetcode 11/05 11:08