Làm cách nào để trả lại một phần phân số trong python?

Một vị trí mà kết quả được lưu trữ. Nếu được cung cấp, nó phải có hình dạng mà đầu vào phát tới. Nếu không được cung cấp hoặc Không có, một mảng mới được phân bổ sẽ được trả về. Một bộ [chỉ có thể là đối số từ khóa] phải có độ dài bằng với số lượng đầu ra

ở đâu array_like, tùy chọn

Điều kiện này được phát qua đầu vào. Tại các vị trí có điều kiện là True, mảng out sẽ được đặt thành kết quả ufunc. Ở những nơi khác, mảng out sẽ giữ nguyên giá trị ban đầu của nó. Lưu ý rằng nếu một mảng out chưa được khởi tạo được tạo thông qua out=None mặc định, các vị trí trong đó có điều kiện là Sai sẽ vẫn chưa được khởi tạo

**kwargs

Đối với các đối số chỉ từ khóa khác, hãy xem phần

Trả về . y1 ndarray

Phần phân số của x. Đây là một số vô hướng nếu x là một số vô hướng

y2 ndarray

Phần tích phân của x. Đây là một số vô hướng nếu x là một số vô hướng

Xem thêm

divmod[x, 1] tương đương với modf với các giá trị trả về được chuyển đổi, ngoại trừ nó luôn có phần dư dương

Sử dụng phương pháp math.modf[] để tách một số thành phần nguyên và phần thập phân, e. g. result = math.modf[my_num]. Phương thức math.modf[] trả về phần phân số và phần nguyên của số được cung cấp

Chúng tôi đã sử dụng phương pháp math.modf[] để chia một số thành phần nguyên và phần thập phân

Phương thức trả về phần phân số và phần nguyên của số được cung cấp

Phần phân số và phần nguyên mang dấu của số đã cung cấp và là số thực

Lưu ý rằng cả hai giá trị trong tuple đều là số float

Nếu bạn cần chuyển đổi phần tử bộ thứ hai thành một số nguyên, hãy sử dụng lớp int[]

Ngoài ra, bạn có thể sử dụng toán tử % và phép chia tầng //

Để tách một số thành phần nguyên và phần thập phân

  1. Sử dụng phép chia sàn để lấy phần nguyên của số bằng cách chia cho 1, e. g. num // 1
  2. Sử dụng toán tử modulo % để lấy phần phân số bằng cách lấy phần còn lại sau khi chia cho 1, e. g. result = math.modf[my_num]2

Toán tử trả về phần còn lại từ phép chia giá trị đầu tiên cho giá trị thứ hai

Khi chúng ta sử dụng toán tử modulo để chia một số cho 1, phần còn lại là phần phân số

Bạn có thể sử dụng phép chia tầng để lấy phần nguyên của một số

Kết quả của việc sử dụng toán tử // chia sàn là kết quả của phép chia toán học với hàm result = math.modf[my_num]5 được áp dụng cho kết quả

Chia một số cho 1 và làm tròn xuống, cho chúng ta phần nguyên của số đó

Tuy nhiên, nếu bạn quyết định sử dụng phương pháp này, hãy lưu ý rằng phương pháp này không xử lý các số âm như bạn mong đợi

Nếu bạn phải xử lý các số âm, thay vào đó hãy sử dụng phương pháp math.modf[]

Bạn cũng có thể xem các ví dụ trực tuyến sử dụng hàm result = math.modf[my_num]8. Tuy nhiên, lưu ý rằng result = math.modf[my_num]8 cũng không xử lý các số âm theo cách bạn mong đợi

Hàm lấy hai số và trả về một bộ chứa 2 giá trị

  1. Kết quả của việc chia đối số thứ nhất cho đối số thứ hai
  2. Phần còn lại từ việc chia đối số thứ nhất cho đối số thứ hai

Tuy nhiên, hàm result = math.modf[my_num]8 cũng không xử lý các số âm theo cách phù hợp với trường hợp sử dụng của chúng tôi

Vì lý do này, bạn nên sử dụng phương pháp math.modf[] khi bạn phải chia một số thành phần nguyên và phần thập phân

Một thể hiện Phân số có thể được xây dựng từ một cặp số nguyên, từ một số hữu tỷ khác hoặc từ một chuỗi

lớp phân số. Phân số[tử số=0 . , denominator=1]class fractions.Phân số[phân số khác]lớp . fractions.Phân số[phao]lớp . fractions.Phân số[thập phân]lớp . fractions.Phân số[chuỗi]

Phiên bản đầu tiên yêu cầu tử số và mẫu số là các thể hiện của và trả về một thể hiện mới có giá trị numerator/denominator. Nếu mẫu số là

>>> from fractions import Fraction
>>> Fraction[16, -10]
Fraction[-8, 5]
>>> Fraction[123]
Fraction[123, 1]
>>> Fraction[]
Fraction[0, 1]
>>> Fraction['3/7']
Fraction[3, 7]
>>> Fraction[' -3/7 ']
Fraction[-3, 7]
>>> Fraction['1.414213 \t\n']
Fraction[1414213, 1000000]
>>> Fraction['-.125']
Fraction[-1, 8]
>>> Fraction['7e-6']
Fraction[7, 1000000]
>>> Fraction[2.25]
Fraction[9, 4]
>>> Fraction[1.1]
Fraction[2476979795053773, 2251799813685248]
>>> from decimal import Decimal
>>> Fraction[Decimal['1.1']]
Fraction[11, 10]
0, nó sẽ tăng một. Phiên bản thứ hai yêu cầu other_fraction là một phiên bản và trả về một phiên bản có cùng giá trị. Hai phiên bản tiếp theo chấp nhận một hoặc một phiên bản và trả về một phiên bản có cùng giá trị. Lưu ý rằng do các vấn đề thông thường với dấu phẩy động nhị phân [xem ], đối số của
>>> from fractions import Fraction
>>> Fraction[16, -10]
Fraction[-8, 5]
>>> Fraction[123]
Fraction[123, 1]
>>> Fraction[]
Fraction[0, 1]
>>> Fraction['3/7']
Fraction[3, 7]
>>> Fraction[' -3/7 ']
Fraction[-3, 7]
>>> Fraction['1.414213 \t\n']
Fraction[1414213, 1000000]
>>> Fraction['-.125']
Fraction[-1, 8]
>>> Fraction['7e-6']
Fraction[7, 1000000]
>>> Fraction[2.25]
Fraction[9, 4]
>>> Fraction[1.1]
Fraction[2476979795053773, 2251799813685248]
>>> from decimal import Decimal
>>> Fraction[Decimal['1.1']]
Fraction[11, 10]
7 không chính xác bằng 11/10 và do đó,
>>> from fractions import Fraction
>>> Fraction[16, -10]
Fraction[-8, 5]
>>> Fraction[123]
Fraction[123, 1]
>>> Fraction[]
Fraction[0, 1]
>>> Fraction['3/7']
Fraction[3, 7]
>>> Fraction[' -3/7 ']
Fraction[-3, 7]
>>> Fraction['1.414213 \t\n']
Fraction[1414213, 1000000]
>>> Fraction['-.125']
Fraction[-1, 8]
>>> Fraction['7e-6']
Fraction[7, 1000000]
>>> Fraction[2.25]
Fraction[9, 4]
>>> Fraction[1.1]
Fraction[2476979795053773, 2251799813685248]
>>> from decimal import Decimal
>>> Fraction[Decimal['1.1']]
Fraction[11, 10]
7 không trả về
>>> from fractions import Fraction
>>> Fraction[16, -10]
Fraction[-8, 5]
>>> Fraction[123]
Fraction[123, 1]
>>> Fraction[]
Fraction[0, 1]
>>> Fraction['3/7']
Fraction[3, 7]
>>> Fraction[' -3/7 ']
Fraction[-3, 7]
>>> Fraction['1.414213 \t\n']
Fraction[1414213, 1000000]
>>> Fraction['-.125']
Fraction[-1, 8]
>>> Fraction['7e-6']
Fraction[7, 1000000]
>>> Fraction[2.25]
Fraction[9, 4]
>>> Fraction[1.1]
Fraction[2476979795053773, 2251799813685248]
>>> from decimal import Decimal
>>> Fraction[Decimal['1.1']]
Fraction[11, 10]
9 như người ta có thể mong đợi. [Nhưng hãy xem tài liệu về phương pháp bên dưới. ] Phiên bản cuối cùng của hàm tạo mong đợi một phiên bản chuỗi hoặc unicode. Hình thức thông thường cho trường hợp này là

[sign] numerator ['/' denominator]

trong đó tùy chọn

>>> from fractions import Fraction
>>> Fraction['3.1415926535897932'].limit_denominator[1000]
Fraction[355, 113]
1 có thể là '+' hoặc '-' và
>>> from fractions import Fraction
>>> Fraction['3.1415926535897932'].limit_denominator[1000]
Fraction[355, 113]
2 và
>>> from fractions import Fraction
>>> Fraction['3.1415926535897932'].limit_denominator[1000]
Fraction[355, 113]
3 [nếu có] là chuỗi các chữ số thập phân [có thể sử dụng dấu gạch dưới để phân định các chữ số như với các ký tự nguyên trong mã]. Ngoài ra, bất kỳ chuỗi nào đại diện cho một giá trị hữu hạn và được chấp nhận bởi hàm tạo cũng được chấp nhận bởi hàm tạo. Ở cả hai dạng, chuỗi đầu vào cũng có thể có khoảng trắng ở đầu và/hoặc ở cuối. Dưới đây là một số ví dụ

>>> from fractions import Fraction
>>> Fraction[16, -10]
Fraction[-8, 5]
>>> Fraction[123]
Fraction[123, 1]
>>> Fraction[]
Fraction[0, 1]
>>> Fraction['3/7']
Fraction[3, 7]
>>> Fraction[' -3/7 ']
Fraction[-3, 7]
>>> Fraction['1.414213 \t\n']
Fraction[1414213, 1000000]
>>> Fraction['-.125']
Fraction[-1, 8]
>>> Fraction['7e-6']
Fraction[7, 1000000]
>>> Fraction[2.25]
Fraction[9, 4]
>>> Fraction[1.1]
Fraction[2476979795053773, 2251799813685248]
>>> from decimal import Decimal
>>> Fraction[Decimal['1.1']]
Fraction[11, 10]

Lớp kế thừa từ lớp cơ sở trừu tượng và thực hiện tất cả các phương thức và hoạt động từ lớp đó. các trường hợp có thể băm được và nên được coi là bất biến. Ngoài ra, có các thuộc tính và phương thức sau

Đã thay đổi trong phiên bản 3. 2. Hàm khởi tạo hiện chấp nhận và thể hiện.

Đã thay đổi trong phiên bản 3. 9. Hàm này hiện được dùng để chuẩn hóa tử số và mẫu số. luôn trả về một loại. Trước đây, loại GCD phụ thuộc vào tử số và mẫu số.

Đã thay đổi trong phiên bản 3. 11. Dấu gạch dưới hiện được phép khi tạo một phiên bản từ một chuỗi, tuân theo các quy tắc PEP 515.

Đã thay đổi trong phiên bản 3. 11. thực hiện

>>> from math import pi, cos
>>> Fraction[cos[pi/3]]
Fraction[4503599627370497, 9007199254740992]
>>> Fraction[cos[pi/3]].limit_denominator[]
Fraction[1, 2]
>>> Fraction[1.1].limit_denominator[]
Fraction[11, 10]
8 ngay bây giờ để đáp ứng kiểm tra phiên bản
>>> from math import pi, cos
>>> Fraction[cos[pi/3]]
Fraction[4503599627370497, 9007199254740992]
>>> Fraction[cos[pi/3]].limit_denominator[]
Fraction[1, 2]
>>> Fraction[1.1].limit_denominator[]
Fraction[11, 10]
9.

tử số

Tử số của Phân số ở số hạng nhỏ nhất

mẫu số

Mẫu số của Phân số ở số hạng bé nhất

as_integer_ratio[]

Trả về một bộ gồm hai số nguyên, có tỷ lệ bằng Phân số và có mẫu số dương

Mới trong phiên bản 3. 8

classmethod from_float[flt]

Hàm tạo thay thế chỉ chấp nhận các thể hiện của hoặc. Lưu ý rằng

>>> from math import floor
>>> floor[Fraction[355, 113]]
3
2 không cùng giá trị với
>>> from math import floor
>>> floor[Fraction[355, 113]]
3
3

Ghi chú

Từ Python 3. 2 trở đi, bạn cũng có thể xây dựng một thể hiện trực tiếp từ một

phương pháp phân lớp từ_thập phân[tháng mười hai]

Hàm tạo thay thế chỉ chấp nhận các thể hiện của hoặc

Ghi chú

Từ Python 3. 2 trở đi, bạn cũng có thể xây dựng một phiên bản trực tiếp từ một phiên bản

limit_denominator[max_denominator=1000000]

Tìm và trả về giá trị gần nhất với fractions1 có mẫu số nhiều nhất là max_denominator. Phương pháp này rất hữu ích để tìm các xấp xỉ hợp lý cho một số dấu phẩy động đã cho

>>> from fractions import Fraction
>>> Fraction['3.1415926535897932'].limit_denominator[1000]
Fraction[355, 113]

hoặc để khôi phục một số hữu tỷ được biểu thị dưới dạng số float

>>> from math import pi, cos
>>> Fraction[cos[pi/3]]
Fraction[4503599627370497, 9007199254740992]
>>> Fraction[cos[pi/3]].limit_denominator[]
Fraction[1, 2]
>>> Fraction[1.1].limit_denominator[]
Fraction[11, 10]

__floor__[]

Trả về giá trị lớn nhất fractions3. Phương pháp này cũng có thể được truy cập thông qua chức năng

>>> from math import floor
>>> floor[Fraction[355, 113]]
3

__ceil__[]

Trả về ít nhất fractions6. Phương pháp này cũng có thể được truy cập thông qua chức năng

__round__[]__round__[ndigits]

Phiên bản đầu tiên trả về giá trị gần nhất với fractions1, làm tròn một nửa thành số chẵn. Phiên bản thứ hai làm tròn fractions1 đến bội số gần nhất của fractions1 [về mặt logic, nếu fractions2 âm], một lần nữa làm tròn một nửa về số chẵn. Phương pháp này cũng có thể được truy cập thông qua chức năng

Chủ Đề