Hướng dẫn def max python - def max python

55

Nội dung chính

  • Bạn có thể không xâu chuỗi một số câu lệnh có điều kiện def clamp(n, minn, maxn): return max(min(maxn, n), minn) 4 một dòng?
  • Làm thế nào để bạn tuyên bố một giá trị tối đa trong Python?
  • Làm thế nào để bạn đặt giá trị tối thiểu và tối đa trong Python?
  • Max có thể là một biến trong Python không?
  • Có tối đa int trong Python không?

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.
Learn more.

Tôi muốn giới hạn một số trong một phạm vi nhất định. Hiện tại, tôi đang làm như sau:

minN = 1
maxN = 10
n = something() #some return value from a function
n = max(minN, n)
n = min(maxN, n)

Điều này giữ nó trong vòng

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
1 và
def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
2, nhưng nó trông không đẹp lắm. Làm thế nào tôi có thể làm điều đó tốt hơn?

Tái bút: FYI, tôi đang sử dụng Python 2.6.

Khi được hỏi ngày 13 tháng 5 năm 2011 lúc 19:34May 13, 2011 at 19:34May 13, 2011 at 19:34

MANTIS TOBOGGANMANTIS TOBOGGANMantis TobogganMantis Toboggan

6.7553 huy hiệu vàng18 Huy hiệu bạc10 Huy hiệu đồng3 gold badges18 silver badges10 bronze badges3 gold badges18 silver badges10 bronze badges

1

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)

hoặc tương đương về mặt chức năng:

clamp = lambda n, minn, maxn: max(min(maxn, n), minn)

Bây giờ, bạn sử dụng:

n = clamp(n, 7, 42)

Hoặc làm cho nó hoàn toàn rõ ràng:

n = minn if n < minn else maxn if n > maxn else n

thậm chí rõ ràng hơn:

def clamp(n, minn, maxn):
    if n < minn:
        return minn
    elif n > maxn:
        return maxn
    else:
        return n

Đã trả lời ngày 13 tháng 5 năm 2011 lúc 19:41May 13, 2011 at 19:41May 13, 2011 at 19:41

Adrien Plissonadrien PlissonAdrien PlissonAdrien Plisson

21.6K5 Huy hiệu vàng41 Huy hiệu bạc73 Huy hiệu đồng5 gold badges41 silver badges73 bronze badges5 gold badges41 silver badges73 bronze badges

2

Chỉ cần sử dụng

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
3 (Doc):
n = np.clip(n, minN, maxN)

Nó cũng hoạt động cho toàn bộ mảng:

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
0

Đã trả lời ngày 15 tháng 7 năm 2014 lúc 10:32Jul 15, 2014 at 10:32Jul 15, 2014 at 10:32

1

Nếu bạn muốn trở nên dễ thương, bạn có thể làm:

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
1

Đã trả lời ngày 13 tháng 5 năm 2011 lúc 19:40May 13, 2011 at 19:40May 13, 2011 at 19:40

Steve Howardsteve HowardSteve HowardSteve Howard

6.4891 Huy hiệu vàng26 Huy hiệu bạc37 Huy hiệu đồng1 gold badge26 silver badges37 bronze badges1 gold badge26 silver badges37 bronze badges

4

Xác định một lớp và có một phương thức để thiết lập giá trị thực hiện các xác nhận đó.

Một cái gì đó mơ hồ như bên dưới:

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
2

Đã trả lời ngày 13 tháng 5 năm 2011 lúc 19:43May 13, 2011 at 19:43May 13, 2011 at 19:43

Bạch kim Azureplatinum AzurePlatinum AzurePlatinum Azure

44.1K11 Huy hiệu vàng106 Huy hiệu bạc133 Huy hiệu đồng11 gold badges106 silver badges133 bronze badges11 gold badges106 silver badges133 bronze badges

8

Bạn có thể không xâu chuỗi một số câu lệnh có điều kiện def clamp(n, minn, maxn): return max(min(maxn, n), minn) 4 một dòng?

Tôi đã bắt gặp câu hỏi này khi tìm cách hạn chế các giá trị

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
5 giữa
def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
6 và
def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
7 và không nghĩ rằng sử dụng
def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
8 và
def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
9 rất dễ đọc nên đã viết theo
clamp = lambda n, minn, maxn: max(min(maxn, n), minn)
0 sau đây:
def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
0

Tôi sẽ quan tâm để xem làm thế nào một người có kinh nghiệm hơn tôi sẽ tìm thấy cách này để kẹp một giá trị. Tôi cho rằng nó phải kém hiệu quả hơn so với sử dụng

def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
9 và
def clamp(n, minn, maxn):
    return max(min(maxn, n), minn)
8, nhưng nó có thể hữu ích cho một người tìm kiếm một người dễ đọc hơn (ít nhất là với tôi)
clamp = lambda n, minn, maxn: max(min(maxn, n), minn)
0.

Đã trả lời ngày 30 tháng 9 năm 2017 lúc 14:42Sep 30, 2017 at 14:42Sep 30, 2017 at 14:42

Joe Iddonjoe IddonJoe IddonJoe Iddon

Huy hiệu vàng 19,6K77 gold badges32 silver badges51 bronze badges7 gold badges32 silver badges51 bronze badges

Làm thế nào để bạn tuyên bố một giá trị tối đa trong Python?

Trong lập trình, Maxint/INT_MAX biểu thị giá trị cao nhất có thể được biểu thị bằng một số nguyên.maxint/INT_MAX denotes the highest value that can be represented by an integer.maxint/INT_MAX denotes the highest value that can be represented by an integer.

Làm thế nào để bạn đặt giá trị tối thiểu và tối đa trong Python?

Trong Python, bạn có thể sử dụng Min () và Max () để tìm giá trị nhỏ nhất và lớn nhất, tương ứng, trong danh sách hoặc chuỗi.use min() and max() to find the smallest and largest value, respectively, in a list or a string.use min() and max() to find the smallest and largest value, respectively, in a list or a string.

Max có thể là một biến trong Python không?

Nếu bạn sử dụng Max làm biến, thì nó sẽ vô hiệu hóa việc sử dụng hàm tối đa trong phạm vi đó.Bạn sẽ nhận được lỗi của đối tượng INT không thể gọi được.. You will get an error of int object not callable .. You will get an error of int object not callable .

Có tối đa int trong Python không?

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.. Python2 has two integer types, int and long , but Python3 has only int . int in Python3 is equivalent to long in Python2, and there is no max limit. You can handle as large value as memory is available.