Làm cách nào để tạo công tắc trong Python?
Nhìn vào từ 'công tắc', bạn có nhớ công tắc được sử dụng để bật và tắt thiết bị không? Show
Trong một ngôn ngữ lập trình, switch là một câu lệnh ra quyết định. Trong bài viết này, chúng ta sẽ tìm hiểu hoạt động của switch case và cách triển khai nó trong Python. Vì vậy, chúng ta hãy bắt đầu với phần giới thiệu về công tắc Giới thiệu về Python SwitchNhư đã nói ở trên, công tắc là một cấu trúc có thể được sử dụng để thực hiện luồng điều khiển trong chương trình. Nó có thể được sử dụng thay thế cho các câu lệnh if-else hoặc thang elif khi chúng ta có một biến/một biểu thức duy nhất mà chúng ta sử dụng để đưa ra quyết định Sử dụng điều này thay vì nhiều câu lệnh if-else làm cho mã trông sạch hơn, nhanh hơn và dễ đọc hơn. Nó hoạt động bằng cách thực thi khối mã theo trường hợp tương ứng thỏa mãn Chúng ta hãy xem xét nhiều hơn về công việc trong phần tiếp theo Hoạt động của Switch Case trong PythonCác câu lệnh chuyển đổi chủ yếu bao gồm điều kiện và các trường hợp khác nhau được kiểm tra để tạo điều kiện. Nó nhận một giá trị hoặc một biến hoặc một biểu thức làm đầu vào Mỗi trường hợp tương ứng với một giá trị cụ thể. Nó kiểm tra xem có bất kỳ trường hợp nào bằng với đầu vào hay không và dựa trên (các) câu lệnh tương ứng đó được (được) thực thi. Nó cũng cho phép chúng ta viết một trường hợp mặc định, trường hợp này được thực thi nếu không có trường hợp nào là Đúng Chúng ta hãy xem một ví dụ kiểm tra ngày trong tuần dựa trên số đã cho để biết hoạt động của câu lệnh switch. Nó lấy số làm đầu vào và kiểm tra nó với từng trường hợp cho đến khi đạt đến trường hợp Đúng Bắt đầu từ 0 đến 6, nó sẽ kiểm tra cho đến khi số bằng một trong các giá trị này. Và tại một thời điểm nếu nó khớp, ngày tương ứng trong tuần sẽ được in. Nếu không có trường hợp nào phù hợp, thì nó sẽ thực thi trường hợp mặc định và in thông tin đầu vào không hợp lệ Nhìn vào lưu đồ bên dưới để hiểu thêm về hoạt động của các vòng lặp Không giống như các ngôn ngữ lập trình khác như C, C++, Java, v.v. , trong Python, không có cấu trúc chuyển đổi tích hợp. Nhưng nó cho phép chúng tôi triển khai các câu lệnh chuyển đổi bằng cách sử dụng các câu lệnh khác theo những cách khác nhau. Chúng ta có thể sử dụng những điều sau đây để làm như vậy Triển khai Switch trong Python bằng thang elifTrước khi sử dụng các cấu trúc khác, trước tiên, chúng ta hãy sử dụng thang elif để thực hiện điều khiển công tắc. Đoạn mã sau đây cho thấy một ví dụ về việc đưa ra đầu ra dưới dạng số bằng chữ Ví dụ triển khai switch case sử dụng thang elif def num_in_words(no): if(no==1): print("One") elif(no==2): print("Two") elif(no==3): print("Three") else: print("Give input of numbers from 1 to 3") num_in_words(3) num_in_words(4.5) đầu ra Số ba Nhập các số từ 1 đến 3 Ở đây, khi chúng ta gọi hàm, thang elif được thực thi. Và số đưa ra làm đầu vào được kiểm tra với các điều kiện trong ngoặc và khối tương ứng được thực thi khi điều kiện được đáp ứng. Nếu không có điều kiện nào thỏa mãn, khối khác sẽ thực thi, yêu cầu đưa ra các số chính xác Triển khai Python Switch bằng Từ điểnChúng ta có thể sử dụng một từ điển để thực hiện trường hợp chuyển đổi. Chúng tôi biết rằng từ điển chứa các cặp khóa-giá trị. Nó có thể có các khóa là điều kiện/phần tử được kiểm tra và các giá trị là phần tử được in hoặc các chức năng được thực thi Sử dụng các phần tử làm giá trị của từ điểnChúng ta có thể sử dụng các phần tử được in làm giá trị của từ điển và sử dụng hàm get() để lấy giá trị tương ứng của một khóa Đoạn mã sau đây cho thấy một ví dụ về việc in một nguyên âm tương ứng Ví dụ về việc triển khai trường hợp chuyển đổi bằng từ điển def vowel(num): switch={ 1:'a', 2:'e', 3:'i', 4:'o', 5:'u' } return switch.get(num,"Invalid input") vowel(3) vowel(0) đầu ra 'Tôi' 'Đâu vao không hợp lệ' Ở đây khi chúng ta gọi hàm bằng cách nhập một số làm đầu vào, thì nó sẽ thực thi từ điển và câu lệnh trả về. Câu lệnh return chứa hàm get() của từ điển, hàm này xuất giá trị của khóa tương ứng. Ở đây chìa khóa là số Đối số thứ hai của get() là giá trị mặc định được trả về khi không tìm thấy khóa. Vì vậy, nó trả về "Đầu vào không hợp lệ" nếu số không nằm trong khoảng từ 1 đến 5 Sử dụng hàm/hàm lambda làm giá trị của từ điểnChúng ta cũng có thể sử dụng các hàm làm giá trị của từ điển. Sau đó, chúng ta có thể sử dụng get() của từ điển để gọi hàm cụ thể đó. Điều này sẽ giúp chúng ta viết nhiều thao tác sử dụng switch hơn là chỉ in một phần tử khi tìm khóa khớp Đoạn mã sau đưa ra một ví dụ về việc sử dụng các hàm để thực hiện một thao tác cụ thể dựa trên toán hạng đầu vào Ví dụ về triển khai trường hợp chuyển đổi bằng từ điển với các hàm là giá trị def add(): return n+m def subs(): return n-m def prod(): return n*m def div(): return m/n def rem(): return m%n def operations(op): switch={ '+': add(), '-': subs(), '*': prod(), '/': div(), '%': rem(), } return switch.get(op,'Choose one of the following operator:+,-,*,/,%') operations('*') operations('^') đầu ra 36 ‘Chọn một trong các toán tử sau. +,-,*,/,%' Ở đây quy trình tương tự như trong trường hợp khi chúng tôi in một giá trị trong trường hợp trước. Khi chúng ta gọi hàm là 'hoạt động' bằng cách đưa toán tử làm đầu vào, từ điển và các câu lệnh trả về được thực thi Và hàm get()) trong câu lệnh return kiểm tra khóa, ở đây là toán tử và gọi các hàm tương ứng. Sau đó xuất giá trị được trả về bởi hàm tương ứng Nếu không tìm thấy khóa, nó sẽ in ra để chọn các toán tử trong từ điển, được đưa ra làm đối số thứ hai Triển khai Python Switch bằng ClassBên cạnh việc sử dụng từ điển, chúng ta cũng có thể sử dụng các lớp Python để triển khai cấu trúc chuyển đổi. Các lớp nói một cách đơn giản là tập hợp các biến và hàm hoạt động như một đơn vị. Chúng ta có thể định nghĩa một lớp bằng cách sử dụng từ khóa 'lớp' Đoạn mã dưới đây cho thấy một ví dụ về việc thực hiện chuyển đổi để lấy con bướm đêm đã cho số, sử dụng lớp Ví dụ về việc triển khai trường hợp chuyển đổi bằng cách sử dụng lớp class Month(object): def month_1(self): print("January") def month_2(self): print("February") def month_3(self): print("March") def month_4(self): print("April") def month_5(self): print("May") def month_6(self): print("June") def month_7(self): print("July") def month_8(self): print("August") def month_9(self): print("September") def month_10(self): print("October") def month_11(self): print("November") def month_12(self): print("December") def getMonth(self,no): name_of_method="month_"+str(no) method=getattr(self,name_of_method,lambda :'Give an input as an integer from 1 to 12') return method() mo=Month() mo.getMonth(5) mo.getMonth(0.5) đầu ra Có thể 'Cho đầu vào là số nguyên từ 1 đến 12' Ở đây một chức năng được xác định cho mỗi tháng. Và chức năng 'getMonth()' có nội dung chính của những gì chúng ta muốn triển khai. Hàm này lấy một số làm đầu vào và kết hợp nó với chuỗi 'tháng_' để có tên hàm tương ứng. Phương thức được gọi bằng cách sử dụng phương thức 'getattr()' để gọi hàm cụ thể. Sau đó, chúng tôi trả về đầu ra của hàm được gọi Nếu hàm không khả dụng, thì chúng ta gọi hàm mặc định được cung cấp làm đối số thứ hai cho 'getattr()'. Ở đây chúng tôi đã đưa ra một hàm lambda yêu cầu cung cấp đầu vào chính xác Câu hỏi phỏng vấn trên Python SwitchQ1. Viết chương trình switch case để kiểm tra xem một chữ cái có phải là nguyên âm không trả lời. Chúng ta có thể viết các nguyên âm dưới dạng khóa của từ điển và giá trị dưới dạng chuỗi 'Đó là một nguyên âm'. Và trường hợp mặc định in nó không phải là nguyên âm Ví dụ kiểm tra xem một chữ cái có phải là nguyên âm hay không def operations(letter): switch={ 'a': "It is a vowel", 'e': "It is a vowel", 'i': "It is a vowel", 'o': "It is a vowel", 'u': "It is a vowel", } return switch.get(letter,"It is a not a vowel") operations('a') đầu ra 'Đó là một nguyên âm' 'Đó không phải là một nguyên âm' quý 2. Viết chương trình kiểm tra xem hàm này dương hay âm hay bằng không trả lời. Ta có thể viết hàm kiểm tra dấu của số. Trong chức năng này, trước tiên chúng ta có thể kiểm tra xem số đó có phải là một chữ số hay không bằng cách sử dụng hàm tích hợp isdidigt(), để tránh lỗi. Sau đó, chúng ta có thể gọi hàm đó trong phương thức get() và dựa trên đầu ra của hàm này, chúng ta có thể viết các trường hợp chuyển đổi Ví dụ kiểm tra dấu của một số def sign(n): if(~n.isdigit()): return "" if n>0: return 'p' if n<0: return 'n' return 'z' def switch(no): switch={ 'p': "Positive", 'n': "Negative", 'z': "Zero", } return switch.get(sign(no),"Invalid input") switch(4) switch('l') đầu ra 'Tích cực' 'Đâu vao không hợp lệ' Q3. Viết chương trình kiểm tra xem một thư có đúng không, bằng cách kiểm tra xem thư có chứa ký tự ‘@’ và ‘. com’ trả lời. Chúng ta có thể viết một hàm để kiểm tra xem ký tự có xuất hiện trong thư hay không bằng cách sử dụng toán tử thành viên Ví dụ để kiểm tra tính hợp lệ của id thư def check(mail): if('@' in mail and '.com' in mail): return True return False def switch(mail): switch={ True: "It is vaild", False: "It is invalid", } return switch.get(check(mail),"Please give proper input") switch('[email protected]') switch('[email protected]') đầu ra 'Nó hợp lệ' 'Nó không hợp lệ' Q4. Viết chương trình kiểm tra xem số đầu tiên có chia hết cho 2, 3 hay 5 không trả lời. Ta có thể viết hàm kiểm tra tính chia hết rồi dựa vào kết quả ta có thể đưa ra kết quả phù hợp. Sau đó, khi gọi hàm, chúng ta có thể kiểm tra tính chia hết cho 2, 3 hoặc 5 Ví dụ kiểm tra tính hợp lệ chia hết class Divisibility(): def div2(self,n): return (n%2==0) def div3(self,n): return n%3==0 def div5(self,n): return n%5==0 def divide(self,no1,no2): name_of_method="div"+str(no2) method=getattr(self,name_of_method,lambda :'Give an input as an integer 2, 3 or 5') return method(no1) d=Divisibility() d.divide(6,3) đầu ra Thật Q5. Viết hàm in giá của những thứ sau trong menu khi nhập vào là một trong các số từ 1 đến 5 trả lời. Dưới đây là ví dụ viết menu bằng Python switch ________số 8_______đầu ra Giá gà cháy là Rs. 150 Câu đố về Trường hợp chuyển đổi PythonGiới hạn thời gian. 0 Tóm tắt bài kiểm tra0 trong tổng số 15 câu hỏi đã hoàn thành câu hỏi Thông tinBạn đã hoàn thành bài kiểm tra trước đây. Do đó bạn không thể bắt đầu lại Bài kiểm tra đang tải… Bạn phải đăng nhập hoặc đăng ký để bắt đầu bài kiểm tra Trước tiên bạn phải hoàn thành những điều sau đây Kết quảhoàn thành bài kiểm tra. Kết quả đang được ghi lại Kết quả0 trong số 15 Câu hỏi đã được trả lời đúng Thời gian của bạn Thời gian đã trôi qua Bạn đã đạt 0 của 0 điểm 0) (Các) Điểm đã kiếm được. 0 của 0 , ( 0) Thể loại
Phần kết luậnTrong bài viết này, chúng ta đã tìm hiểu về các câu lệnh switch-case, hoạt động của chúng và cách triển khai chúng theo những cách khác nhau. Cuối cùng, chúng tôi đã thấy một số câu hỏi thực hành Có chức năng chuyển đổi trong Python không?Python không có chức năng câu lệnh chuyển đổi . Nhưng có nhiều cách để thay thế chức năng câu lệnh chuyển đổi và làm cho việc lập trình trở nên dễ dàng và nhanh hơn. Điều này có thể xảy ra vì Python cho phép chúng tôi tạo các đoạn mã hoạt động giống như các câu lệnh Switch case trong bất kỳ ngôn ngữ nào khác.
Chúng ta có thể triển khai trường hợp chuyển đổi trong Python không?Có, Python có chức năng Switch case . Kể từ Python 3. 10, giờ đây chúng ta có thể sử dụng cú pháp mới để triển khai loại chức năng này với trường hợp đối sánh. Câu lệnh đối sánh trường hợp cho phép người dùng triển khai chính xác các đoạn mã để chuyển đổi trường hợp.
Câu lệnh switch() là gì?Trong các ngôn ngữ lập trình máy tính, câu lệnh chuyển đổi là một loại cơ chế kiểm soát lựa chọn được sử dụng để cho phép giá trị của một biến hoặc biểu thức thay đổi luồng điều khiển thực thi chương trình thông qua tìm kiếm và . .
Tại sao chuyển đổi không có sẵn trong Python?Python không có câu lệnh chuyển đổi/trường hợp do Đề xuất không đạt yêu cầu . Không ai có thể đề xuất một triển khai hoạt động tốt với cú pháp của Python và kiểu mã hóa đã được thiết lập. Đã có nhiều đề xuất, bạn có thể xem một số đề xuất trong PEP 3103 -- A Switch/Case Statement. |