Có thể viết một else vào cuối một hàng ____ 8 chỉ được thực thi nếu không có câu lệnh if nào là đúng không? Thí dụ:
if foo==5: pass if bar==5: pass if foobar==5: pass else: passTrong ví dụ này, phần khác sẽ được thực thi nếu key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 0 không phải là 5, nhưng tôi muốn nó được thực thi nếu key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 1, key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 2 và key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 0 không phải là 5. (nhưng, nếu tất cả các câu lệnh là .)
Jonrsharpe
Huy hiệu vàng 111K2525 gold badges217 silver badges403 bronze badges
Đã hỏi ngày 15 tháng 6 năm 2014 lúc 15:05Jun 15, 2014 at 15:05
2
Làm thế nào về việc làm một cái gì đó như thế này? Tạo bốn câu lệnh IF nhưng câu lệnh thứ tư nếu không được chạy nếu một trong ba câu khác được chạy vì các câu lệnh khác thay đổi biến key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 4
key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement
Jonrsharpe
Huy hiệu vàng 111K2525 gold badges217 silver badges403 bronze badges
Đã hỏi ngày 15 tháng 6 năm 2014 lúc 15:05Jun 15, 2014 at 15:12
Làm thế nào về việc làm một cái gì đó như thế này? Tạo bốn câu lệnh IF nhưng câu lệnh thứ tư nếu không được chạy nếu một trong ba câu khác được chạy vì các câu lệnh khác thay đổi biến key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 4Maggick
Đã trả lời ngày 15 tháng 6 năm 2014 lúc 15:122 gold badges10 silver badges25 bronze badges
1
Maggickmaggick
tests = [bar ==4, foo == 6, foobar == 8] if tests[0] : # do a thing if tests[1] : # Make a happy cheesecake if tests[2] : # Oh, that's sad if not True in tests : # Invade Paris7432 Huy hiệu vàng10 Huy hiệu bạc25 Huy hiệu đồng
wereAnyTrue = False if foo == 4 : # Do the washing wereAnyTrue = True if bar == 6 : # Buy flowers for girlfriend wereAnyTrue = True # ... etc if not wereAnyTrue : # Eat pizza in underpantsTôi không nghĩ rằng có bất kỳ cách quá thanh lịch nào để làm điều này trong Python hoặc bất kỳ ngôn ngữ nào khác. Bạn có thể lưu trữ các giá trị trong một danh sách nhưng điều đó sẽ làm xáo trộn các bài kiểm tra thực tế, ví dụ:Jun 15, 2014 at 15:47
Hoặc bạn có thể đặt cờ theo dõiJack Aidley
Đã trả lời ngày 15 tháng 6 năm 2014 lúc 15:477 gold badges42 silver badges69 bronze badges
1
Jack Aidleyjack Aidley
if foo == 5: ... if bar == 5: ... if foobar == 5: ... if not any((foo == 5, bar == 5, foobar == 5)): ...18.8K7 Huy hiệu vàng42 Huy hiệu bạc69 Huy hiệu đồngJun 15, 2014 at 15:11
Không trực tiếp - ba khối if đó là riêng biệt. Bạn có thể sử dụng làm tổ, nhưng điều đó sẽ trở nên khá phức tạp; Cách gọn gàng nhất để thực hiện điều này có lẽ là:jonrsharpe
Huy hiệu vàng 111K2525 gold badges217 silver badges403 bronze badges
3
Đã hỏi ngày 15 tháng 6 năm 2014 lúc 15:05
if 5 in (foo, bar, foobar): pass else: pass
Làm thế nào về việc làm một cái gì đó như thế này? Tạo bốn câu lệnh IF nhưng câu lệnh thứ tư nếu không được chạy nếu một trong ba câu khác được chạy vì các câu lệnh khác thay đổi biến key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 4
Đã trả lời ngày 15 tháng 6 năm 2014 lúc 15:1211 silver badges19 bronze badges
MaggickmaggickMay 20, 2017 at 19:06
7432 Huy hiệu vàng10 Huy hiệu bạc25 Huy hiệu đồngluismgb
Tôi không nghĩ rằng có bất kỳ cách quá thanh lịch nào để làm điều này trong Python hoặc bất kỳ ngôn ngữ nào khác. Bạn có thể lưu trữ các giá trị trong một danh sách nhưng điều đó sẽ làm xáo trộn các bài kiểm tra thực tế, ví dụ:1 silver badge7 bronze badges
Hoặc bạn có thể đặt cờ theo dõi
if foo != bar != foobar != 5: #gets executed if foo, bar and foobar are all not equal to 5Đã trả lời ngày 15 tháng 6 năm 2014 lúc 15:47
Jack Aidleyjack Aidley whoops, this won't work. For example key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 7 returns false, while key = True if foo == 5: key = False if bar == 5: key = False if foobar == 5: key = False if key: pass # this would then be your else statement 8 return true. Sorry
18.8K7 Huy hiệu vàng42 Huy hiệu bạc69 Huy hiệu đồngJun 15, 2014 at 15:41
Không trực tiếp - ba khối if đó là riêng biệt. Bạn có thể sử dụng làm tổ, nhưng điều đó sẽ trở nên khá phức tạp; Cách gọn gàng nhất để thực hiện điều này có lẽ là:Dunno
Đã trả lời ngày 15 tháng 6 năm 2014 lúc 15:113 gold badges28 silver badges41 bronze badges