Làm thế nào để bạn nhập một phân số trong python?

Có một số cách để tạo một phiên bản

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
1. Lưu ý rằng trong mọi trường hợp, kết quả sẽ tự động giảm (đơn giản hóa)

Chỉ định tử số và mẫu số là số nguyên

Mẫu số được coi là

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
7 nếu bỏ qua

from fractions import Fraction

print(Fraction(1, 3))
# 1/3

print(Fraction(2, 6))
# 1/3

print(Fraction(3))
# 3

nguồn.

Số dấu phẩy động (print(Fraction(0.25)) # 1/4 print(Fraction(0.33)) # 5944751508129055/18014398509481984 8)

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984

nguồn.

Nếu bạn muốn tính gần đúng bằng cách chỉ định mẫu số lớn nhất, hãy sử dụng phương pháp

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
4 được mô tả bên dưới

Chuỗi (print(Fraction('2/5')) # 2/5 print(Fraction('16/48')) # 1/3 0)

print(Fraction('2/5'))
# 2/5

print(Fraction('16/48'))
# 1/3

nguồn.

Lấy tử số và mẫu số

Bạn có thể lấy tử số và mẫu số bằng các thuộc tính

print(Fraction('2/5'))
# 2/5

print(Fraction('16/48'))
# 1/3
1 và
print(Fraction('2/5'))
# 2/5

print(Fraction('16/48'))
# 1/3
2 của
print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
1. Chúng không thể thay đổi

a = Fraction(1, 3)
print(a)
# 1/3

print(a.numerator)
print(type(a.numerator))
# 1
# 

print(a.denominator)
print(type(a.denominator))
# 3
# 

# a.numerator = 7
# AttributeError: can't set attribute

nguồn.

Tính và so sánh các phân số

Bạn có thể tính toán

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
1 bằng các toán tử số học

result = Fraction(1, 6) ** 2 + Fraction(1, 3) / Fraction(1, 2)
print(result)
print(type(result))
# 25/36
# 

nguồn.

Bạn cũng có thể sử dụng toán tử so sánh

print(Fraction(7, 13) > Fraction(8, 15))
# True

nguồn.

Liên kết được tài trợ

Chuyển đổi một phân số thành một số dấu phẩy động. print(Fraction(0.25)) # 1/4 print(Fraction(0.33)) # 5944751508129055/18014398509481984 2

Bạn có thể chuyển đổi

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
1 thành số dấu phẩy động với
print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
2

a_f = float(a)
print(a_f)
print(type(a_f))
# 0.3333333333333333
# 

nguồn.

Kết quả của phép toán giữa

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
1 và
print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
8 được tự động chuyển thành
print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
8

b = a + 0.1
print(b)
print(type(b))
# 0.43333333333333335
# 

nguồn.

Chuyển đổi một phân số thành một chuỗi. print(Fraction(0.25)) # 1/4 print(Fraction(0.33)) # 5944751508129055/18014398509481984 3

Bạn có thể chuyển đổi

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
1 thành một chuỗi với
print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
3

a_s = str(a)
print(a_s)
print(type(a_s))
# 1/3
# 

nguồn.

Nhận xấp xỉ hợp lý. print(Fraction(0.25)) # 1/4 print(Fraction(0.33)) # 5944751508129055/18014398509481984 4

Bạn có thể lấy giá trị gần đúng hợp lý bằng phương pháp

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
4

Phương thức

print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
4 trả về
print(Fraction(0.25))
# 1/4

print(Fraction(0.33))
# 5944751508129055/18014398509481984
1 có mẫu số nhỏ hơn hoặc bằng tham số
a = Fraction(1, 3)
print(a)
# 1/3

print(a.numerator)
print(type(a.numerator))
# 1
# 

print(a.denominator)
print(type(a.denominator))
# 3
# 

# a.numerator = 7
# AttributeError: can't set attribute
8. Mặc định là
a = Fraction(1, 3)
print(a)
# 1/3

print(a.numerator)
print(type(a.numerator))
# 1
# 

print(a.denominator)
print(type(a.denominator))
# 3
# 

# a.numerator = 7
# AttributeError: can't set attribute
9