Hướng dẫn can you put two if statements on one line in python? - bạn có thể đặt hai câu lệnh if trên một dòng trong python không?

Tôi đã đọc các liên kết dưới đây, nhưng nó không giải quyết được câu hỏi của tôi. Python có toán tử điều kiện ternary không? (Câu hỏi là về câu lệnh IF-Else ngưng tụ cho một dòng)
Does Python have a ternary conditional operator? (the question is about condensing if-else statement to one line)

Có một cách nào dễ dàng hơn để viết một câu lệnh if-elif-else để nó phù hợp với một dòng? Ví dụ,
For example,

if expression1:
   statement1
elif expression2:
   statement2
else:
   statement3

Hoặc một ví dụ trong thế giới thực:

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0

Tôi chỉ cảm thấy nếu ví dụ trên có thể được viết theo cách sau, nó có thể trông ngắn gọn hơn.

x=2 if i>100 elif i<100 1 else 0 [WRONG]

Hướng dẫn can you put two if statements on one line in python? - bạn có thể đặt hai câu lệnh if trên một dòng trong python không?

Georgy

11K7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges

Hỏi ngày 25 tháng 12 năm 2012 lúc 9:09Dec 25, 2012 at 9:09

0

Không, không thể (ít nhất là không phải với các tuyên bố tùy ý), cũng không mong muốn. Phù hợp với mọi thứ trên một dòng rất có thể vi phạm PEP-8 trong đó bắt buộc các dòng không được vượt quá 80 ký tự.

Nó cũng chống lại Zen of Python: "tính dễ đọc". (Nhập

x=2 if i>100 elif i<100 1 else 0 [WRONG]
3 tại lời nhắc Python để đọc toàn bộ).

Bạn có thể sử dụng biểu thức ternary trong Python, nhưng chỉ cho các biểu thức, không phải cho các câu lệnh:

>>> a = "Hello" if foo() else "Goodbye"

Edit:

Câu hỏi sửa đổi của bạn bây giờ cho thấy ba câu nói giống hệt nhau ngoại trừ giá trị được gán. Trong trường hợp đó, một toán tử ternary bị xích không hoạt động, nhưng tôi vẫn nghĩ rằng nó không thể đọc được:

>>> i=100
>>> a = 1 if i<100 else 2 if i>100 else 0
>>> a
0
>>> i=101
>>> a = 1 if i<100 else 2 if i>100 else 0
>>> a
2
>>> i=99
>>> a = 1 if i<100 else 2 if i>100 else 0
>>> a
1

Đã trả lời ngày 25 tháng 12 năm 2012 lúc 9:16Dec 25, 2012 at 9:16

Tim Pietzckertim PietzckerTim Pietzcker

Phù bằng vàng 319K5757 gold badges494 silver badges550 bronze badges

4

Nếu bạn chỉ cần các biểu thức khác nhau cho các trường hợp khác nhau thì điều này có thể phù hợp với bạn:

expr1 if condition1 else expr2 if condition2 else expr

Ví dụ:

a = "neg" if b<0 else "pos" if b>0 else "zero"

Đã trả lời ngày 25 tháng 12 năm 2012 lúc 9:36Dec 25, 2012 at 9:36

LychalychaLycha

9.6893 huy hiệu vàng34 Huy hiệu bạc43 Huy hiệu đồng3 gold badges34 silver badges43 bronze badges

2

Mặc dù có một số câu trả lời khác: Có điều đó là có thể:YES it IS possible:

if expression1:
   statement1
elif expression2:
   statement2
else:
   statement3

Dịch sang một lớp lót sau:

statement1 if expression1 else (statement2 if expression2 else statement3)

Trong thực tế, bạn có thể làm tổ cho đến vô cùng. Vui thích ;)

Đã trả lời ngày 10 tháng 10 năm 2019 lúc 8:44Oct 10, 2019 at 8:44

Hướng dẫn can you put two if statements on one line in python? - bạn có thể đặt hai câu lệnh if trên một dòng trong python không?

Gustavzgustavzgustavz

2.6203 Huy hiệu vàng22 Huy hiệu bạc41 Huy hiệu đồng3 gold badges22 silver badges41 bronze badges

2

Chỉ cần tổ một cái khác nếu mệnh đề trong tuyên bố khác. Nhưng điều đó không làm cho nó trông đẹp hơn.

>>> x=5
>>> x if x>0 else ("zero" if x==0 else "invalid value")
5
>>> x = 0
>>> x if x>0 else ("zero" if x==0 else "invalid value")
'zero'
>>> x = -1
>>> x if x>0 else ("zero" if x==0 else "invalid value")
'invalid value'

Đã trả lời ngày 25 tháng 12 năm 2012 lúc 9:42Dec 25, 2012 at 9:42

David Laidavid LaiDavid Lai

8047 Huy hiệu bạc13 Huy hiệu đồng7 silver badges13 bronze badges

1

Bạn có thể thực sự sử dụng phương thức

x=2 if i>100 elif i<100 1 else 0 [WRONG]
4 của
x=2 if i>100 elif i<100 1 else 0 [WRONG]
5:

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
0

Bạn không cần phương pháp

x=2 if i>100 elif i<100 1 else 0 [WRONG]
4 nếu một trong các khóa được đảm bảo để đánh giá thành
x=2 if i>100 elif i<100 1 else 0 [WRONG]
7:

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
1

Nhiều nhất một trong các khóa nên đánh giá lý tưởng là

x=2 if i>100 elif i<100 1 else 0 [WRONG]
7. Nếu có nhiều hơn một chính đánh giá là
x=2 if i>100 elif i<100 1 else 0 [WRONG]
7, kết quả có vẻ không thể đoán trước được.

Hướng dẫn can you put two if statements on one line in python? - bạn có thể đặt hai câu lệnh if trên một dòng trong python không?

Asclepius

52.6K16 Huy hiệu vàng153 Huy hiệu bạc134 Huy hiệu đồng16 gold badges153 silver badges134 bronze badges

Đã trả lời ngày 22 tháng 11 năm 2016 lúc 13:50Nov 22, 2016 at 13:50

Hướng dẫn can you put two if statements on one line in python? - bạn có thể đặt hai câu lệnh if trên một dòng trong python không?

ShaneshaneShane

4.75512 Huy hiệu vàng45 Huy hiệu bạc84 Huy hiệu đồng12 gold badges45 silver badges84 bronze badges

1

Toán tử ternary là cách tốt nhất để biểu hiện ngắn gọn. Cú pháp là

>>> a = "Hello" if foo() else "Goodbye"
0. Vì vậy, ví dụ của bạn, bạn phải áp dụng toán tử ternary hai lần:

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
2

Đã trả lời ngày 17 tháng 5 năm 2019 lúc 21:14May 17, 2019 at 21:14

Hướng dẫn can you put two if statements on one line in python? - bạn có thể đặt hai câu lệnh if trên một dòng trong python không?

Alfredoalfredoalfredo

4846 Huy hiệu bạc8 Huy hiệu Đồng6 silver badges8 bronze badges

Có bạn có thể làm điều này:

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
3

Paul Roub

36.1k27 Huy hiệu vàng81 Huy hiệu bạc88 Huy hiệu đồng27 gold badges81 silver badges88 bronze badges

Đã trả lời ngày 12 tháng 8 năm 2021 lúc 16:41Aug 12, 2021 at 16:41

HolakonoobholakonoobHolakoNoob

Huy hiệu 611 Bạc1 Huy hiệu Đồng1 silver badge1 bronze badge

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0

Nếu bạn muốn sử dụng mã đã nêu ở trên trong một dòng, bạn có thể sử dụng các mục sau:

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
5

Khi làm như vậy, x sẽ được gán 2 nếu i> 100, 1 nếu tôi <100 và 0 nếu i = 100

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

Toán tử ternary lồng nhau là giải pháp tốt nhất -

Trường hợp ví dụ -

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
6
if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
7

Hướng dẫn can you put two if statements on one line in python? - bạn có thể đặt hai câu lệnh if trên một dòng trong python không?

Henry Ecker

32.9K18 Huy hiệu vàng30 Huy hiệu bạc51 Huy hiệu Đồng18 gold badges30 silver badges51 bronze badges

Đã trả lời ngày 26 tháng 6 năm 2021 lúc 13:04Jun 26, 2021 at 13:04

Chim chim xanhBlue Bird

1733 Huy hiệu bạc7 Huy hiệu đồng3 silver badges7 bronze badges

Mọi người đã đề cập đến các biểu hiện ternary. Đôi khi với một gán có điều kiện đơn giản làm ví dụ của bạn, có thể sử dụng biểu thức toán học để thực hiện bài tập có điều kiện. Điều này có thể không làm cho mã của bạn rất dễ đọc, nhưng nó có được nó trên một dòng khá ngắn. Ví dụ của bạn có thể được viết như thế này:

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
8

Các so sánh sẽ đúng hoặc sai, và khi nhân với các số sau đó sẽ là 1 hoặc 0. Người ta có thể sử dụng A + thay vì | ở giữa.

Đã trả lời ngày 25 tháng 12 năm 2012 lúc 21:30Dec 25, 2012 at 21:30

Ant6nAnt6nAnt6n

1.7781 Huy hiệu vàng17 Huy hiệu bạc25 Huy hiệu đồng1 gold badge17 silver badges25 bronze badges

Nó cũng phụ thuộc vào bản chất của biểu hiện của bạn. Lời khuyên chung về các câu trả lời khác của "không làm điều đó" là khá hợp lệ đối với các tuyên bố chung và các biểu thức chung.

Nhưng nếu tất cả những gì bạn cần là một bảng "Công văn", như, gọi một hàm khác nhau tùy thuộc vào giá trị của một tùy chọn đã cho, bạn có thể đặt các chức năng để gọi bên trong từ điển.

Cái gì đó như:

if i > 100:
    x = 2
elif i < 100:
    x = 1
else:
    x = 0
9

Thay vì IF-Else:

x=2 if i>100 elif i<100 1 else 0 [WRONG]
0

Hướng dẫn can you put two if statements on one line in python? - bạn có thể đặt hai câu lệnh if trên một dòng trong python không?

Emma

27K10 Huy hiệu vàng41 Huy hiệu bạc65 Huy hiệu Đồng10 gold badges41 silver badges65 bronze badges

Đã trả lời ngày 25 tháng 12 năm 2012 lúc 12:55Dec 25, 2012 at 12:55

JSbuenojsbuenojsbueno

90,5k10 Huy hiệu vàng139 Huy hiệu bạc194 Huy hiệu đồng10 gold badges139 silver badges194 bronze badges

Bạn có thể sử dụng các câu lệnh Ternary Nested.

x=2 if i>100 elif i<100 1 else 0 [WRONG]
1

Đã trả lời ngày 31 tháng 3 năm 2018 lúc 20:31Mar 31, 2018 at 20:31

k0L1081k0L1081k0L1081

Huy hiệu đồng 1491 Bạc4 Huy hiệu đồng1 silver badge4 bronze badges

x=2 if i>100 elif i<100 1 else 0 [WRONG]
2

Cảm ơn

Đã trả lời ngày 27 tháng 2 năm 2021 lúc 16:03Feb 27, 2021 at 16:03

Chúng ta có thể viết khác nếu câu lệnh trong một dòng python?

Một dòng các câu lệnh IF-Else trong Python viết một câu lệnh IF-OLSE một dòng trong Python là có thể bằng cách sử dụng toán tử ternary, còn được gọi là biểu thức có điều kiện. Điều này hoạt động tốt. Nhưng bạn có thể hoàn thành công việc bằng cách viết câu lệnh if-else như một biểu thức một lớp lót gọn gàng.Writing a one-line if-else statement in Python is possible by using the ternary operator, also known as the conditional expression. This works just fine. But you can get the job done by writing the if-else statement as a neat one-liner expression.

Bạn có thể có 2 tuyên bố khác trong Python không?

Bạn có thể sử dụng nhiều loại khác nếu mỗi người trong số họ phải có mở và đóng niềng răng xoăn {}. .

Nếu tuyên bố có 2 khác?

Bạn có thể có nhiều khác nếu các tuyên bố khi cần thiết.Trong trường hợp của nhiều câu lệnh khác, câu lệnh Switch có thể được ưu tiên cho khả năng đọc.Như một ví dụ về nhiều câu lệnh khác, chúng ta có thể tạo một ứng dụng chấm điểm sẽ xuất ra một lớp thư dựa trên số điểm trong số 100.. In the case of many else if statements, the switch statement might be preferred for readability. As an example of multiple else if statements, we can create a grading app that will output a letter grade based on a score out of 100.

Có thể viết nhiều hơn một điều kiện nếu xây dựng?

Ở đây chúng ta sẽ nghiên cứu làm thế nào chúng ta có thể kiểm tra nhiều điều kiện trong một câu lệnh IF.Điều này có thể được thực hiện bằng cách sử dụng 'và' hoặc 'hoặc' hoặc cả hai trong một câu lệnh.và so sánh = để điều này hoạt động bình thường cả hai điều kiện được cung cấp là đúng.This can be done by using 'and' or 'or' or BOTH in a single statement. and comparison = for this to work normally both conditions provided with should be true.