2010-12-14 30 views
5

Vì không có toán tử goto trong Python, kỹ thuật nào có thể được sử dụng thay thế?Tương đương với GOTO trong điều kiện, Python

Điều kiện Nếu đúng, hãy chuyển đến chủ đề 1, nếu là sai, hãy chuyển đến chủ đề 2 Trong chủ đề chúng tôi làm một điều gì đó nhỏ và sau đó chuyển đến chuỗi 2 nơi tất cả các hành động khác diễn ra.

+0

Vui lòng tìm kiếm trước khi yêu cầu – dheerosaur

+1

bạn không thể xem qua các chủ đề – Andrey

+0

Câu hỏi của bạn cần một _once over_, bạn có thể cung cấp thêm một chút không? – kevpie

Trả lời

5

Để theo sự hiểu biết của tôi nó không có mặt (may mắn), nhưng bạn nên kiểm tra này link

Các "goto" mô-đun được một trò đùa Cá tháng Tư, được công bố trên 01 Tháng 4 2004. Vâng, nó nhưng nó vẫn là một trò đùa. Xin vui lòng không sử dụng nó trong mã thực!

+3

Đừng cám dỗ anh ta đến Dark Side của lập trình Python :-) May mắn thay, nó được viết trên trang, rằng nó chỉ là một trò đùa của April Fool. –

6
def thread_1(): 
    # Do thread_1 type stuff here. 

def thread_2(): 
    # Do thread_2 type stuff here. 

if condition: 
    thread_1() 

# If condition was false, just run thread_2(). 
# If it was true then thread_1() will return to this point. 
thread_2() 

chỉnh sửa: Tôi giả định rằng bởi "chủ đề" bạn có nghĩa là một đoạn mã (hay còn gọi là một chương trình con hoặc một hàm). Nếu bạn đang nói về chủ đề như trong thực hiện song song thì bạn sẽ cần thêm chi tiết trong câu hỏi.

+0

Vâng, ý tôi là đoạn mã. Có thể đặt tất cả các chức năng này trong một lần lặp "cho" không? – Maks

+0

@Maks: Vâng, tất nhiên rồi. Bạn có thể đặt hầu hết mọi thứ trong vòng lặp for. –

2

Python được thiết kế để hỗ trợ thực tiễn mã hóa tốt và GOTO không phải là một trong số chúng. Nó có thể dẫn đến logic chương trình không đọc được, nếu không được sử dụng đúng cách.

Tôi khuyên bạn nên tìm hiểu mã chương trình của mình theo cách Python, không gắn bó với thói quen (đôi khi xấu) từ các ngôn ngữ lập trình khác. Xem tài liệu Python, các chương trình Python thực sự trưởng thành và tìm hiểu.

14

Vì không có toán tử goto trong Python, kỹ thuật nào có thể được sử dụng thay thế?

Xây dựng mã của bạn một cách hợp lý và ngữ nghĩa.

if condition: 
    perform_some_action() 

perform_other_actions() 
0
def thread1(): 
    #write your thread 1 code here 

    print("entered no is 1") 

def thread2(): 
    #write your thread 2 code here 
    print("Number is greater or less then one.") 

def main(): 
    a=input() 
    if a==1: 
    thread1() 
    elif a<=1 or a>=1: 
    thread2() 
    #you can use recursion here in case if you want to use agin and again 
    #if you want to print serveral time you can use looping. 
    for i in range(4): 
     main() 
    #if you want to run goto forever and ever and ever then remove loop in 
    #this code. 

#this code will enable you the equivalent of goto statement. 

Đây là những gì tôi sử dụng tất cả thời gian trong Python 3.x.

Các vấn đề liên quan