Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Tôi chưa quen với Python và một người bạn đã thách thức tôi một câu hỏi đơn giản mà tôi đã bối rối: Vui lòng xây dựng cho tôi một chương trình đơn giản làm tròn số mà không sử dụng bất kỳ hoạt động toán học nào, như Round. Tôi chỉ muốn tìm ra điều này cho một vị trí thập phân duy nhất - như 2.1 hoặc 5,8 - không có gì lạ mắt với những vị trí thập phân dài. Tôi tin rằng đó là một cái gì đó giống như một câu lệnh if/sau đó - nếu <5 thì làm gì ..... làm gì? Cảm ơn bạn trước !!

hỏi ngày 16 tháng 7 năm 2013 lúc 1:09Jul 16, 2013 at 1:09

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

2

Làm thế nào về điều này (trong đó

(int(10*x-0.5)+1) / 10.0
7 là số của bạn):

Làm tròn đến toàn bộ số:

int(x-0.5)+1

Làm tròn đến thứ mười gần nhất:

(int(10*x-0.5)+1) / 10.0

Đã trả lời ngày 16 tháng 7 năm 2013 lúc 1:13Jul 16, 2013 at 1:13

jh314jh314jh314

26.3K15 Huy hiệu vàng61 Huy hiệu bạc81 Huy hiệu đồng15 gold badges61 silver badges81 bronze badges

0

Để làm điều đó mà không cần toán chỉ sử dụng chuỗi (nó vẫn sử dụng toán học)

"%0.1f" % my_num_to_round

Đã trả lời ngày 16 tháng 7 năm 2013 lúc 1:17Jul 16, 2013 at 1:17

Joran Beasleyjoran BeasleyJoran Beasley

106K12 Huy hiệu vàng149 Huy hiệu bạc174 Huy hiệu đồng12 gold badges149 silver badges174 bronze badges

Dưới đây là một hàm sử dụng rất ít toán học (trừ việc sử dụng so sánh lớn hơn hoặc bằng nhau, toán học duy nhất là được thực hiện bởi lập trình viên để tạo hàm

(int(10*x-0.5)+1) / 10.0
8). Tôi tin rằng giới hạn duy nhất là chỉ có thể làm tròn số thập phân (mặc dù không có giới hạn về độ dài của chúng).

input = 2.899995

def nxt_int(n): # Get the next consecutive integer from the given one
    if n == '0':
        n_out = '1'
    elif n == '1':
        n_out = '2'
    elif n == '2':
        n_out = '3'
    elif n == '3':
        n_out = '4'
    elif n == '4':
        n_out = '5'
    elif n == '5':
        n_out = '6'
    elif n == '6':
        n_out = '7'
    elif n == '7':
        n_out = '8'
    elif n == '8':
        n_out = '9'
    elif n == '9':
        n_out = '0'
    return n_out

def round(in_num):
    # Convert the number to a string
    in_num_str = str(in_num)
    # Determine if the last digit is closer to 0 or 10
    if int(in_num_str[-1]) >= 5:
        # Eliminate the decimal point
        in_num_str_split = ''.join(in_num_str.split('.'))
        # Get the length of the integer portion of the number
        int_len = len(in_num_str.split('.')[0])
        # Initialize the variables used in the loop
        out_num_str = ''
        done = False
        # Loop over all the digits except the last digit in reverse order
        for num in in_num_str_split[::-1][1:]:
            # Get the next consecutive integer
            num_nxt_int = nxt_int(num)
            # Determine if the current digit needs to be increased by one
            if (num_nxt_int == '0' or num == in_num_str_split[-2] or out_num_str[-1] == '0') and not done:
                out_num_str = out_num_str + num_nxt_int
            else:
                out_num_str = out_num_str + num
                done = True
        # Build the rounded decimal
        out_num_str = (out_num_str[::-1][:int_len] + '.' + out_num_str[::-1][int_len:]).rstrip('0').rstrip('.')
    else:
        # Return all except the last digit
        out_num_str = in_num_str[:-1]
    return out_num_str

print round(input)

Đã trả lời ngày 17 tháng 7 năm 2013 lúc 18:58Jul 17, 2013 at 18:58

tlewis3348tlewis3348tlewis3348

4142 Huy hiệu vàng7 Huy hiệu bạc20 Huy hiệu đồng 202 gold badges7 silver badges20 bronze badges

Hướng dẫn này chạm vào một trong những thực hành cơ bản cơ bản - các số làm tròn trong Python. Làm tròn là một chức năng toán học cơ bản nhưng thiết yếu mà mọi người sử dụng để làm cho tính toán dễ dàng hơn. Mục đích của nó là có được một giá trị gần giá trị thực tế ở dạng đơn giản hơn nhiều.

Hướng dẫn này cung cấp một hướng dẫn chuyên sâu về các số làm tròn trong Python. Tất cả những gì bạn cần trước là IDE hoặc Trình chỉnh sửa (đang sử dụng mã VS) và Python 3.9.0 trở lên.

Có nhiều cách bạn có thể muốn làm tròn một số. Python cung cấp rất nhiều phương pháp để làm điều đó. Sẽ khám phá tất cả chúng dưới đây.

  • Làm tròn vs cắt
  • Làm tròn lên
    • Làm tròn bằng cách sử dụng vòng ()
    • Làm tròn bằng Math.ceil ()
  • Làm tròn xuống
    • Làm tròn xuống bằng cách sử dụng vòng ()
    • Làm tròn xuống bằng Math.Floor ()
  • Vòng một nửa hoặc xuống
  • Làm tròn phao
  • Vòng thập phân
  • Tròn đến số nguyên gần nhất (5 hoặc 10)
  • Phân số tròn đến gần nhất
  • Số âm số âm
  • Vòng không có vòng () (sử dụng divmod)
  • Vòng numpy mảng

Làm tròn vs cắt

Làm tròn lên

Làm tròn bằng cách sử dụng vòng ()

Làm tròn bằng Math.ceil ()

Sở giao dịch chứng khoán Vancouver (VSE) khét tiếng vì mất 25 điểm mỗi tháng vào năm 1982 vì họ đã cắt giảm các giá trị thành ba số thập phân nhiều lần mỗi ngày. Hãy xem xét mã sau:

import random randomValues = [random.uniform(0.01, 0.1) for i in range(500000)]def truncateNumber(num):    return int(num * 1000) / 1000sumOfNumbers = 0sumOfTruncate = 0for n in randomValues:    sumOfNumbers = sumOfNumbers + n    sumOfTruncate = truncateNumber(sumOfTruncate + n)print("Truncating upto 3 decimal places:")print("Original Sum = ", sumOfNumbers)print("Total Using Truncate = ", sumOfTruncate)print("Difference (truncate) = ", sumOfNumbers - sumOfTruncate, '\n')           print("Using round() upto 3 decimal places:")sumOfNumbers1 = 0sumOfTruncate1 = 0for n in randomValues:    sumOfNumbers1 = sumOfNumbers1 + n           sumOfTruncate1 = round(sumOfTruncate1 + n, 3)print("Original Sum = ", sumOfNumbers1)print("Total Using round() = ", sumOfTruncate1)print("Difference (round()) = ", sumOfNumbers1 - sumOfTruncate1)

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Hãy chia nhỏ mã để làm cho nó toàn diện hơn:

  1. Weve đã nhập thư viện ngẫu nhiên, sử dụng mà Weve đã bắt đầu một mảng các số ngẫu nhiên trong khoảng 0,01 đến 0,1 bằng Random.Uniform (). Đây là trong khoảng 500.000 giây.
  2. Tiếp theo, hàm cắt (num) lấy giá trị và cắt bỏ các chữ số sau 3 chữ số thập phân.
  3. Chúng tôi lấy tổng ban đầu, tổng thu được sau khi cắt các giá trị, và sau đó tính toán chênh lệch.
  4. Sau đó, chúng tôi sẽ sử dụng vòng () trên cùng một tập hợp các giá trị và tìm tổng ban đầu, tổng sau khi làm tròn các giá trị và sự khác biệt giữa cả hai.

Đầu ra cho thấy một sự khác biệt đáng kể giữa cả hai chiến lược. Rất nhiều độ chính xác bị mất khi chúng ta sử dụng cắt ngắn thay vì vòng (), điều này có thể dẫn đến các vấn đề đáng kể.

Làm tròn lên

Làm tròn các số ở dạng thập phân có nghĩa là chuyển đổi chúng thành một số nguyên lớn hơn số đó.

Nó làm giảm độ chính xác của công việc của bạn nhưng cũng làm cho tính toán đơn giản hơn. Trong Python, có hai cách để làm tròn số lượng:

Làm tròn bằng cách sử dụng vòng ()

Cách tiếp cận đầu tiên mà bất kỳ ai sử dụng cho các số tròn trong Python là chức năng tròn tích hợp - Vòng (N, I). Nó lấy hai giá trị làm đối số; Số N sẽ được làm tròn và tôi, số lượng thập phân mà số lượng cần được làm tròn.

Đối số thứ hai là tùy chọn. Nếu bạn muốn làm tròn các số, bạn chỉ cần bao gồm đối số đầu tiên trong vòng (), tức là, giá trị mà bạn muốn thực hiện hàm.

Đối với số thập phân lớn hơn 0,5, vòng () luôn trả về giá trị số nguyên cao hơn.

Ví dụ: nếu bạn đang làm tròn 10.6 bằng cách sử dụng vòng (), trình thông dịch Python sẽ hiển thị 11. Để làm cho nó rõ ràng hơn, hãy xem mã bên dưới.

value1 = 6.925value2 = 5.42value3 = 9.87round1 = round(value1)round2 = round(value2)round3 = round(value3)print('Values'.ljust(20), 'Rounded Up')print(str(value1).ljust(20), round1)print(str(value2).ljust(20), round2)print(str(value3).ljust(20), round3)

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đầu tiên, chúng tôi gán các giá trị float cho ba biến giá trị1, value2 và value3. Tiếp theo, chúng tôi vượt qua chúng như là đối số trong hàm vòng ().

Cuối cùng, chúng tôi in hai cột, một với giá trị ban đầu và thứ hai với giá trị tròn. Bạn sẽ lưu ý rằng mã trả về 7 và 10, các giá trị số nguyên cao hơn cho 6,925 và 9,87.

Tuy nhiên, trong 5,42, đầu ra là 5 vì vị trí thập phân có 0,42 - dưới 0,6. Đây có thể là một vấn đề trong nhiều lĩnh vực, đó là lý do tại sao chúng ta chuyển sang phương pháp thứ hai để làm tròn các số.

Làm tròn bằng Math.ceil ()

Để sử dụng hàm cream (), bạn sẽ phải nhập thư viện toán học. Hàm này tự động trả về giá trị số nguyên cao hơn cho số thập phân.

Ví dụ, cả 10.2 và 10.6 sẽ trở lại 11, bất kể số thập phân cao hơn 0,5 hay không. Xem mã bên dưới:

import mathprint(math.ceil(10.2))print(math.ceil(10.6))

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Hoạt động của trần () làm cho nó thuận tiện hơn nhiều so với vòng () để làm tròn các số.

Làm tròn xuống

Nếu bạn đã học được cách làm tròn, làm tròn xuống sẽ là một làn gió. Bạn có thể đi theo hai cách về nó:

Làm tròn xuống bằng cách sử dụng vòng ()

Đối với thập phân 0,5 và ít hơn, hàm vòng () trả về giá trị số nguyên nhỏ hơn. Đối với 4.2, bạn sẽ nhận được 4. Hãy thay đổi mã được sử dụng trước đây để làm cho mọi thứ rõ ràng hơn.

value1 = 3.2value2 = 4.5value3 = 4.852round1 = round(value1)round2 = round(value2)round3 = round(value3)print('Values'.ljust(20), 'Rounded Down')print(str(value1).ljust(20), round1)print(str(value2).ljust(20), round2)print(str(value3).ljust(20), round3)

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đầu tiên, chúng tôi lưu trữ các giá trị nổi trong ba biến. Tiếp theo, chúng tôi in hai cột cho các giá trị ban đầu và tròn. Như bạn có thể thấy, chúng tôi nhận được kết quả chính xác cho 3.2 và 4.5.

Tuy nhiên, đối với một số thập phân như 4.852, vòng () có thể sai. Một điều đáng chú ý khác là nếu vị trí thập phân có 0,5, Round () sẽ làm tròn giá trị lên hoặc xuống, tùy thuộc vào hai số nguyên thì nó nằm giữa là chẵn.

Do đó, với 0,5, hàm luôn trả về một số chẵn. Hãy xem một cách thuận tiện hơn để làm tròn nó xuống.

Làm tròn xuống bằng Math.Floor ()

Bằng cách nhập thư viện toán học vào mã của bạn, bạn có thể sử dụng hàm Sloor () của nó. Nó tự động trả về giá trị thấp hơn cho một số thập phân.

Do đó, đối với cả 8.3 và 8,9, bạn sẽ nhận được 8. Hãy xem xét mã bên dưới:

import mathprint(math.floor(8.3))print(math.floor(8.9))

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Bạn có thể thấy rằng đầu ra cho mã cho chúng ta kết quả chính xác mà chúng ta muốn, làm cho sàn () là giải pháp thay thế tốt hơn để làm tròn các số mong muốn.

Vòng một nửa hoặc xuống

Cả hai làm tròn một nửa lên và xuống đề cập đến việc làm tròn một số được chỉ định đến chữ số gần nhất để đảm bảo độ chính xác hơn.

Tuy nhiên, trong một nửa, giá trị nằm giữa hai số sẽ chuyển đổi thành số cao hơn. Trong khi đó, một nửa xuống chuyển đổi giá trị thành số thấp hơn.

Dưới đây, chúng tôi đã kết hợp một mã để xem làm thế nào một nửa công việc lên và xuống như thế nào:

import decimalimport mathdef roundHalfUp(value, decimals = 0):    multiplyWith = 10 ** decimals    return math.floor(value * multiplyWith + 0.5) / multiplyWithdef roundHalfDown(value, decimals = 0):    multiplyWith = 10 ** decimals    return math.ceil(value * multiplyWith - 0.5) / multiplyWithprint(roundHalfUp(15.28, 1))print(roundHalfUp(15.25, 1))print(roundHalfDown (1.5))print(roundHalfDown(2.5, 1))

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đầu tiên, bạn chuyển điểm thập phân về phía bên phải đến những nơi được chỉ định. Tiếp theo, bạn xác định giá trị của chữ số sau điểm thập phân thay đổi.

Là lớn hơn 5, nhỏ hơn 5, hoặc bằng 5? Bước tiếp theo là thêm 0,5 và áp dụng chức năng sàn cho nửa vòng lên. Đối với một nửa xuống, bạn trừ 0,5 từ số và áp dụng hàm math.ceil ().

Đầu ra cho thấy các giá trị nửa và xuống được làm tròn chính xác.

Làm tròn phao

Bây giờ bạn đã quen với hàm vòng (), bạn có thể dễ dàng sử dụng nó để làm tròn các giá trị nổi. Trước đây, chúng tôi đã bỏ ra đối số tùy chọn thứ hai để làm tròn lên xuống.

Tất cả những gì bạn phải làm là chỉ định số chữ số bạn muốn làm tròn số để làm tròn các giá trị float. Hãy xem mã bên dưới:

(int(10*x-0.5)+1) / 10.0
0

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đầu ra cho thấy rằng mỗi giá trị float đã được làm tròn đến số vị trí thập phân được chỉ định là đối số.

Vòng thập phân

Python cung cấp một mô -đun thập phân cho phép độ chính xác hơn khi xử lý các số. Nó được thiết kế bằng cách xem xét cách mọi người làm số học trong cuộc sống thực.

Do đó, nó bảo tồn các chữ số quan trọng, đưa ra một đại diện chính xác hơn về số thập phân và cho phép độ chính xác linh hoạt theo sự thuận tiện của người dùng. Mô -đun này cung cấp nhiều chiến lược làm tròn:

  1. Round_ceiling: Giá trị tròn lớn hơn số
  2. Round_down: Các giá trị tròn di chuyển về phía 0
  3. Round_floor: Giá trị tròn nhỏ hơn số
  4. Round_half_down: Các giá trị tròn di chuyển nửa chừng tới 0
  5. Round_half_Even: Giá trị tròn di chuyển nửa chừng đến số chẵn gần nhất
  6. Round_half_up: Giá trị tròn di chuyển cách xa 0
  7. Round_up: Giá trị tròn di chuyển ra khỏi 0

Hãy xem mã bên dưới để quan sát cách mỗi chức năng này hoạt động:

(int(10*x-0.5)+1) / 10.0
1

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đầu tiên, chúng tôi nhập mô -đun thập phân. Tiếp theo, chúng tôi gán một giá trị nổi cho biến tròn_num và sau đó làm tròn nó đến 2 vị trí và lưu trữ nó trong Final_val.

Cuối cùng, chúng tôi áp dụng tất cả các chiến lược để làm tròn số thập phân. Ở đây, Quantize () đóng một vai trò thiết yếu. Đầu tiên, trước toán tử DOT (.), Chúng tôi chỉ định giá trị được làm tròn.

Vì chúng tôi muốn làm tròn một số thập phân, chúng tôi khởi tạo Round_num như một số thập phân. Trong các dấu ngoặc của .quantize (), chúng tôi chỉ định các địa điểm mà chúng tôi muốn làm tròn số thập phân.

Cuối cùng, chúng tôi đã in kết quả. Đầu ra cho thấy sự khác biệt trong kết quả tùy thuộc vào chiến lược làm tròn được sử dụng.

Tròn đến số nguyên gần nhất (5 hoặc 10)

Có thể có một trường hợp bạn muốn làm tròn một giá trị thành bội số của một chữ số cụ thể. Hãy xem xét hai cơ sở ở đây, 5 và 10.

Đang tìm cách làm tròn một số để có được đầu ra luôn là bội số của một trong hai cơ sở, tức là 5 hoặc 10. Ví dụ, đối với 14, làm tròn đến số nguyên gần nhất là 5 sẽ cho bạn 15, trong khi, trong 10, bạn cần 10.

Hãy xem mã sau để tìm hiểu làm thế nào để làm điều này:

(int(10*x-0.5)+1) / 10.0
2

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?
 
Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Giá trị được làm tròn là N, trong khi cơ sở là 5 hoặc 10. Cơ sở có thể được đặt như bất kỳ số nào bạn muốn. Bước tiếp theo là chia giá trị với cơ sở và làm tròn kết quả để có được số nguyên.

Cuối cùng, nhân số nguyên này với cơ sở của bạn để lấy bội số của nó làm hình tròn của bạn. Đầu ra cho thấy cách các số khác nhau được làm tròn với 5 hoặc 10 làm cơ sở của chúng.

Phân số tròn đến gần nhất

Python cũng bao gồm một mô -đun phân số. Nó cho phép nhiều tính toán số học được thực hiện trên các phân số hoặc các phân số tròn lên thành các chữ số mong muốn. Hãy xem mã bên dưới:

(int(10*x-0.5)+1) / 10.0
3

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đảm bảo bạn nhập phân số từ mô -đun phân số để sử dụng nó trong mã của bạn. Tiếp theo, chúng tôi khởi tạo một đối tượng phân số và gán tử số là 50 và mẫu số là 3.

Tiếp theo, chúng tôi thực hiện làm tròn hai cách. Chúng tôi không chỉ định số lượng địa điểm chúng tôi muốn làm tròn phân số và gán giá trị cho biến tròn wwithoutlimit.

Tiếp theo, chúng tôi làm tròn phân số lên đến 2 chữ số thập phân và gán giá trị cho RoundedWithLimit. Cuối cùng, chúng tôi in kết quả trong ba cột, trong đó sự khác biệt giữa hai kết quả là rõ ràng.

Số âm số âm

Bây giờ bạn đã học được về việc làm tròn các con số dương, xử lý các số âm sẽ không phải là một vấn đề. Bạn có thể làm tròn các số âm theo ba cách:

Phương pháp đầu tiên là hàm tích hợp cơ bản có trong Python, tức là, Round (). Nó hoạt động cho các số nguyên tích cực và tiêu cực tương tự.

Nếu vị trí thập phân lớn hơn 0,5, hàm trả về số nguyên cao hơn của hai số nguyên thì giá trị nằm giữa.

Mặt khác, nếu nó dưới 0,5, vòng () trả về số nguyên nhỏ hơn. Hãy nhớ rằng với 0,5, vòng () luôn trả về một số nguyên chẵn.

Vì vậy, đối với hai giá trị float, 9.2 và 4,5, bạn nhận được 9 và 4, tương ứng. Phương pháp thứ hai là sử dụng hàm math.ceil (). Lòng luôn được sử dụng để làm tròn các giá trị.

Giá trị float -3,6 nằm giữa -3 và -4. Số nguyên lớn hơn là -3, vì vậy trần nhà trả về điều đó. Do đó, đối với các giá trị âm, trần di chuyển xuống, trái ngược với hoạt động của nó cho các số dương.

Thứ ba, bạn có thể sử dụng hàm math.floor (). Nó luôn được sử dụng để làm tròn các giá trị xuống. Hãy lấy ví dụ tương tự về giá trị float -3. Nó nằm giữa -3 và -4.

Số nguyên nhỏ hơn là -4, do đó math.floor () sẽ trả về điều đó. Do đó, đối với các giá trị âm, nó di chuyển lên trên thang số, trái ngược với hoạt động của nó cho các số dương.

Chúng ta hãy xem mã sau để xem Python làm tròn số âm như thế nào:

(int(10*x-0.5)+1) / 10.0
4

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đầu tiên, chúng tôi nhập thư viện toán học để đảm bảo quyền truy cập vào các chức năng trần và sàn. Tiếp theo, chúng tôi gán các giá trị float cho ba biến - value1, value2 và value3.

Cuối cùng, chúng tôi in 4 cột. Cái đầu tiên là cho số âm, đang được làm tròn. Ba cột khác là cho vòng (), math.ceil (), math.floor () tương ứng.

Kết quả cho thấy sự khác biệt rõ ràng giữa các chiến lược để làm tròn các số âm được thảo luận ở trên.

Vòng không có vòng () (sử dụng divmod)

DivMod (Num1, Num2) là một chức năng trong Python lấy cổ tức và chia cấp làm đối số và trả về một bộ điều khiển và phần còn lại. Chúng ta có thể sử dụng hoạt động của nó để làm tròn một số đến 5 hoặc 10. Chúng ta hãy xem mã sau:

(int(10*x-0.5)+1) / 10.0
5

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đầu tiên, chúng tôi đã xác định một hàm lấy số sẽ được làm tròn, tức là giá trị, như một đối số. Tiếp theo, chúng tôi áp dụng divmod () về giá trị với ước số là 5.

Để làm tròn đến 10 gần nhất, hãy thay thế đối số thứ hai bằng 10. Tiếp theo, chúng tôi kiểm tra xem phần còn lại có lớn hơn hoặc bằng 5. Nếu vậy, chúng tôi thêm 1 trong chỉ số, điều đó có nghĩa là chúng tôi đang làm tròn.

Cuối cùng, chúng tôi nhân số thương số với 5 để trả lại bội số 5 dưới dạng câu trả lời tròn. Cuối cùng, chúng tôi vượt qua 105.2 làm đối số cho chức năng này. Kết quả in 105.0 dưới dạng câu trả lời, bội số gần nhất của 5.

Vòng numpy mảng

Các mảng Numpy được sử dụng rộng rãi để lưu trữ dữ liệu trong khoa học dữ liệu và điện toán khoa học. Đó là một chiến lược thực tế vì các tính năng vector hóa và phát sóng của nó.

Chúng cho phép các hàm được áp dụng cho toàn bộ mảng cùng một lúc thay vì một phần tử tại một thời điểm. Hãy chắc chắn rằng bạn đã cài đặt Numpy trên hệ thống của mình để sử dụng các mảng Numpy.

Các mảng này có thể được làm tròn bằng các hàm vòng () và xung quanh (). Hãy xem mã sau:

(int(10*x-0.5)+1) / 10.0
6

Hướng dẫn how do you round without using the round function in python? - làm thế nào để bạn làm tròn mà không sử dụng hàm vòng trong python?

Đầu tiên, chúng tôi nhập mô -đun Numpy và gán nó cho NP. Tiếp theo, chúng tôi khởi tạo một mảng 1 × 6. Cuối cùng, chúng tôi sẽ sử dụng các hàm vòng () và xung quanh () và vượt qua mảng và số lượng địa điểm chúng tôi muốn làm tròn chức năng đó.

Cuối cùng, chúng tôi in kết quả và bạn có thể quan sát rằng cả hai chức năng đều cho cùng một kết quả.

MOKHTAR là người sáng lập của likeGeeks.com. Anh ta làm việc như một Quản trị viên hệ thống Linux & NBSP; kể từ năm 2010. Anh ta chịu trách nhiệm duy trì, bảo vệ và xử lý sự cố các máy chủ Linux cho nhiều khách hàng trên thế giới. Anh ấy thích viết kịch bản Shell và Python để tự động hóa tác phẩm của mình.

Làm thế nào để bạn làm tròn mà không sử dụng vòng toán học?

Bạn có thể nhân số ban đầu với công suất 10 sao cho vị trí mong muốn để làm tròn nằm ở vị trí của đơn vị, áp dụng phương thức "Thêm một nửa và vòng" mà bạn đã có, sau đó chia cùng một công suất 10, vì vậy số kết quả làBây giờ trở lại quy mô ban đầu.multiply the original number by a power of 10 so that the desired place to round is in the unit's place, apply the "add half and round" method you already have, then divide the same power of 10, so the resulting number is now back to the original scale.

Hai cách để làm tròn một số trong Python là gì?

Python có hai phương pháp cho phép bạn làm tròn và xuống.Phương thức Sàn () làm tròn xuống số nguyên gần nhất.ceil () làm tròn lên đến số nguyên gần nhất.The floor() method rounds down to the nearest integer. ceil() rounds up to the nearest integer.

Làm thế nào để bạn làm tròn trong Python mà không có toán học?

Bởi vì, Round () là một hàm độc lập trong Python và không phải là một phần mở rộng của gói toán học.Vì vậy, tôi khuyên bạn nên tiếp tục và chỉ cần sử dụng vòng () thay vì toán học.vòng () và bạn sẽ ổn thôi.use round() instead of math. round() and you'll be fine.

Làm thế nào để bạn làm tròn một giá trị trong Python?

Hàm python vòng () hàm vòng () hàm trả về một số điểm nổi là phiên bản tròn của số được chỉ định, với số thập phân được chỉ định.Số thập phân mặc định là 0, có nghĩa là hàm sẽ trả về số nguyên gần nhất.