1245
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi chỉ tham gia vào Python và tôi thực sự thích sự khó chịu của cú pháp. Tuy nhiên, có cách nào dễ dàng viết một câu ____ 15 -________ 16 -________ 17 để nó phù hợp với một dòng?
Ví dụ:
if count == N:
count = 0
else:
count = N + 1
Có cách viết đơn giản hơn không? Ý tôi là, trong Objective-C, tôi sẽ viết điều này như:
count = count == N ? 0 : count + 1;
Có một cái gì đó tương tự cho Python?
Cập nhật
Tôi biết rằng trong trường hợp này, tôi có thể sử dụng
count = count == N ? 0 : count + 1;
8.Tôi đang hỏi về cú pháp chung.
Ivanleoncz
8.0874 Huy hiệu vàng53 Huy hiệu bạc48 Huy hiệu đồng4 gold badges53 silver badges48 bronze badges
Khi được hỏi ngày 10 tháng 5 năm 2010 lúc 12:58May 10, 2010 at 12:58
5
Đó cụ thể là một biểu thức toán tử ternary hơn là if-then, đây là cú pháp Python
value_when_true if condition else value_when_false
Ví dụ tốt hơn: [Cảm ơn ông Burns] [thanks Mr. Burns]
count = count == N ? 0 : count + 1;
9Bây giờ với sự phân công và độ tương phản với nếu cú pháp
fruit = 'Apple'
isApple = True if fruit == 'Apple' else False
vs
fruit = 'Apple'
isApple = False
if fruit == 'Apple' : isApple = True
Princelysid
6.3092 Huy hiệu vàng14 Huy hiệu bạc17 Huy hiệu đồng2 gold badges14 silver badges17 bronze badges
Đã trả lời ngày 10 tháng 5 năm 2010 lúc 13:00May 10, 2010 at 13:00
CMSJRCMSJRcmsjr
54.5K10 Huy hiệu vàng70 Huy hiệu bạc62 Huy hiệu Đồng10 gold badges70 silver badges62 bronze badges
16
Hơn nữa, bạn vẫn có thể sử dụng cú pháp "thông thường"
count = count == N ? 0 : count + 1;
5 và kết hợp nó thành một dòng với một dấu hai chấm.if i > 3: print["We are done."]
hoặc
field_plural = None
if field_plural is not None: print["insert into testtable[plural] '{0}'".format[field_plural]]
cải xoăn
1511 Huy hiệu bạc10 Huy hiệu đồng1 silver badge10 bronze badges
Đã trả lời ngày 7 tháng 7 năm 2012 lúc 8:41Jul 7, 2012 at 8:41
8
count = 0 if count == N else N+1
- Toán tử ternary. Mặc dù tôi muốn nói rằng giải pháp của bạn dễ đọc hơn thế này.
Đã trả lời ngày 10 tháng 5 năm 2010 lúc 13:00May 10, 2010 at 13:00
CMSJRCMSJRTim Pietzcker
54.5K10 Huy hiệu vàng70 Huy hiệu bạc62 Huy hiệu Đồng57 gold badges494 silver badges550 bronze badges
1
Hơn nữa, bạn vẫn có thể sử dụng cú pháp "thông thường"
count = count == N ? 0 : count + 1;
5 và kết hợp nó thành một dòng với một dấu hai chấm.value_true if else value_false
hoặc
[value_false, value_true][]
e.g:
count = count == N ? 0 : count + 1;
0cải xoăn
count = count == N ? 0 : count + 1;
1e.g.:
count = count == N ? 0 : count + 1;
2
1511 Huy hiệu bạc10 Huy hiệu đồng
Đã trả lời ngày 7 tháng 7 năm 2012 lúc 8:4129 gold badges107 silver badges159 bronze badges
- Toán tử ternary. Mặc dù tôi muốn nói rằng giải pháp của bạn dễ đọc hơn thế này.May 10, 2010 at 13:22
Tim Pietzckertim Pietzckermshsayem
Phù bằng vàng 319K5711 gold badges61 silver badges67 bronze badges
10
count = count == N ? 0 : count + 1;
3Cú pháp ternary chung:
count = count == N ? 0 : count + 1;
4Một cách khác có thể là:May 10, 2010 at 15:23
phoenix24phoenix24phoenix24
Điều này đánh giá cả hai nhánh trước khi chọn một. Chỉ để đánh giá nhánh đã chọn:2 gold badges20 silver badges24 bronze badges
0