Cách kiểm tra xem một chữ cái có phải là nguyên âm trong python không

Đưa ra một ký tự, kiểm tra xem đó là nguyên âm hay phụ âm. Các nguyên âm là 'a', 'e', ​​'i', 'o' và 'u'. Tất cả các ký tự khác ['b', 'c', 'd', 'f'... ] là phụ âm

ví dụ.   

Input : x = 'c'
Output : Consonant

Input : x = 'u'
Output : Vowel

Khuyến khích. Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp

Chúng tôi kiểm tra xem ký tự đã cho có khớp với bất kỳ nguyên âm nào trong số 5 nguyên âm không. Nếu có, chúng tôi in "Nguyên âm", nếu không, chúng tôi in "Phụ âm".  

Python3




Consonant
Vowel
84

Consonant
Vowel
85

Consonant
Vowel
86

Consonant
Vowel
87

Consonant
Vowel
0

Consonant
Vowel
1
Consonant
Vowel
2

Consonant
Vowel
86

Consonant
Vowel
4
Consonant
Vowel
5
Consonant
Vowel
6
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
9
Consonant
Vowel
0
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
4
Consonant
Vowel
0

Consonant
Vowel
6
Consonant
Vowel
1
Consonant
Vowel
7_______17
Consonant
Vowel
00
Consonant
Vowel
0
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
05
Consonant
Vowel
0
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
00
Consonant
Vowel
01

Consonant
Vowel
6
Consonant
Vowel
03____204
Consonant
Vowel
05
Consonant
Vowel
06

Consonant
Vowel
4
Consonant
Vowel
08
Consonant
Vowel
09

Consonant
Vowel
6
Consonant
Vowel
03____204
Consonant
Vowel
03
Consonant
Vowel
06

Consonant
Vowel
86

Consonant
Vowel
06

________ 207 ________ 208 ________ 206

Consonant
Vowel
07
Consonant
Vowel
4
Consonant
Vowel
06

Consonant
Vowel
843

đầu ra.  

Consonant
Vowel

Thời gian phức tạp. Ô[1]

Không gian phụ trợ. Ô[1]

Làm thế nào để xử lý chữ in hoa là tốt?

Python3




Consonant
Vowel
84

Consonant
Vowel
85

Consonant
Vowel
86

Consonant
Vowel
847

Consonant
Vowel
848

Consonant
Vowel
1
Consonant
Vowel
2

Consonant
Vowel
4
Consonant
Vowel
5
Consonant
Vowel
6
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
9
Consonant
Vowel
0
Consonant
Vowel
1_______17
Consonant
Vowel
7
Consonant
Vowel
4
Consonant
Vowel
0
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
00
Consonant
Vowel
0

Consonant
Vowel
6
Consonant
Vowel
1
Consonant
Vowel
7_______17
Consonant
Vowel
05
Consonant
Vowel
0
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
00
Consonant
Vowel
0
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
02
Consonant
Vowel
0

Consonant
Vowel
6
Consonant
Vowel
1
Consonant
Vowel
7_______17
Consonant
Vowel
08
Consonant
Vowel
0
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
13
Consonant
Vowel
0
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
18
Consonant
Vowel
0

Consonant
Vowel
6
Consonant
Vowel
1
Consonant
Vowel
7
Consonant
Vowel
7
Consonant
Vowel
24
Consonant
Vowel
01

Consonant
Vowel
6
Consonant
Vowel
03____204
Consonant
Vowel
05
Consonant
Vowel
06

Consonant
Vowel
4
Consonant
Vowel
08
Consonant
Vowel
09

Consonant
Vowel
6
Consonant
Vowel
03____204
Consonant
Vowel
03
Consonant
Vowel
06

Consonant
Vowel
86

Consonant
Vowel
06

Consonant
Vowel
5
Consonant
Vowel
42____17
Consonant
Vowel
7
Consonant
Vowel
45
Consonant
Vowel
09

Consonant
Vowel
4
Consonant
Vowel
07____208
Consonant
Vowel
06

Consonant
Vowel
4
Consonant
Vowel
07____108
Consonant
Vowel
06

đầu ra.  

Consonant
Vowel

Thời gian phức tạp. Ô[1]

Không gian phụ trợ. Ô[1]

sử dụng trường hợp chuyển đổi

Python3




Consonant
Vowel
1
Consonant
Vowel
56

Consonant
Vowel
4
Consonant
Vowel
58
Consonant
Vowel
7
Consonant
Vowel
60

Consonant
Vowel
6
Consonant
Vowel
9____209
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
4
Consonant
Vowel
09
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
00
Consonant
Vowel
09
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
05
Consonant
Vowel
09
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
00
Consonant
Vowel
09
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
02____209
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
08
Consonant
Vowel
09
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
13
Consonant
Vowel
09
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
18____209
Consonant
Vowel
05
Consonant
Vowel
65

Consonant
Vowel
6
Consonant
Vowel
24
Consonant
Vowel
09
Consonant
Vowel
05

Consonant
Vowel
4
Consonant
Vowel
11

Consonant
Vowel
4
Consonant
Vowel
13
Consonant
Vowel
14
Consonant
Vowel
03
Consonant
Vowel
06

Consonant
Vowel
86

Consonant
Vowel
18

Consonant
Vowel
03
Consonant
Vowel
04
Consonant
Vowel
21
Consonant
Vowel
22
Consonant
Vowel
23
Consonant
Vowel
9
Consonant
Vowel
25

Consonant
Vowel
03
Consonant
Vowel
04
Consonant
Vowel
28
Consonant
Vowel
22
Consonant
Vowel
23
Consonant
Vowel
31
Consonant
Vowel
25

Đầu ra

Consonant
Vowel
0

Thời gian phức tạp. Ô[1]

Không gian phụ trợ. Ô[1]

Một cách khác là tìm [] ký tự trong chuỗi chỉ chứa Nguyên âm

Python3




Consonant
Vowel
1
Consonant
Vowel
56

Consonant
Vowel
86

Consonant
Vowel
4
Consonant
Vowel
37

Consonant
Vowel
4
Consonant
Vowel
39
Consonant
Vowel
7
Consonant
Vowel
41

Consonant
Vowel
4
Consonant
Vowel
13
Consonant
Vowel
04
Consonant
Vowel
39
Consonant
Vowel
46
Consonant
Vowel
7
Consonant
Vowel
48
Consonant
Vowel
49
Consonant
Vowel
06

Consonant
Vowel
86

Consonant
Vowel
18

Consonant
Vowel
03
Consonant
Vowel
04
Consonant
Vowel
21
Consonant
Vowel
22
Consonant
Vowel
39
Consonant
Vowel
58
Consonant
Vowel
9
Consonant
Vowel
60

Consonant
Vowel
03
Consonant
Vowel
04
Consonant
Vowel
28
Consonant
Vowel
22
Consonant
Vowel
39
Consonant
Vowel
58
Consonant
Vowel
31
Consonant
Vowel
60

Đầu ra

Consonant
Vowel
0

Thời gian phức tạp. TRÊN]

Không gian phụ trợ. O[1]
 Cách hiệu quả nhất để kiểm tra Nguyên âm bằng cách sử dụng dịch chuyển bit.

Trong ASCII, đây là các giá trị tương ứng của mọi nguyên âm cả ở dạng chữ thường và chữ hoa

Nguyên âmDECHEXBINARY

a

970x6101100001

e

1010x6501100101

i

1050x6901101001

o

1110x6F01101111

u

1170x7501110101

 

A

650x4101000001

E

690x4501000101

I

730x4901001001

O

790x4F01001111

U

850x5501010101

 

Vì các nguyên âm viết thường và viết hoa có cùng 5 LSB. Chúng tôi cần một số 0x208222 mang lại 1 trong LSB của nó sau khi dịch chuyển phải 1, 5, 19, 15 nếu không sẽ cho 0. Các số phụ thuộc vào mã hóa ký tự

 

DECHEXBINARY310x1F0001111121304660x2082221000001000001000100010

 

Python3




Consonant
Vowel
1
Consonant
Vowel
56

Consonant
Vowel
86

Consonant
Vowel
4
Consonant
Vowel
13
Consonant
Vowel
04
Consonant
Vowel
75
Consonant
Vowel
76
Consonant
Vowel
77
Consonant
Vowel
78
Consonant
Vowel
79
Consonant
Vowel
80
Consonant
Vowel
49

Consonant
Vowel
4
Consonant
Vowel
83

Consonant
Vowel
86

Consonant
Vowel
18

Consonant
Vowel
03
Consonant
Vowel
04
Consonant
Vowel
21
Consonant
Vowel
22
Consonant
Vowel
39
Consonant
Vowel
58
Consonant
Vowel
9
Consonant
Vowel
60

Consonant
Vowel
03
Consonant
Vowel
04
Consonant
Vowel
28
Consonant
Vowel
22
Consonant
Vowel
39
Consonant
Vowel
58
Consonant
Vowel
31
Consonant
Vowel
60

Đầu ra

Consonant
Vowel
0

Thời gian phức tạp. Ô[1]

Không gian phụ trợ. O[1]
*Chúng tôi có thể bỏ qua phần [ ch & 0x1f ] trên các máy X86 do SHR/SAR [là >> ] tự động được ẩn thành 0x1f.

* Đối với máy, kiểm tra bitmap nhanh hơn kiểm tra bảng, nhưng nếu biến ch được lưu trong thanh ghi thì nó có thể thực hiện nhanh hơn

 

Vui lòng tham khảo bài viết đầy đủ về Chương trình để tìm xem một ký tự là nguyên âm hay Phụ âm để biết thêm chi tiết

Chủ Đề