Hướng dẫn how do you print a value in python with percentages? - làm thế nào để bạn in một giá trị trong python với tỷ lệ phần trăm?

Đây là mã của tôi:

print str(float(1/3))+'%'

và nó cho thấy:

0.0%

Nhưng tôi muốn có được

0.0%
1

Tôi có thể làm gì?

Hướng dẫn how do you print a value in python with percentages? - làm thế nào để bạn in một giá trị trong python với tỷ lệ phần trăm?

Martineau

Huy hiệu vàng 116K2525 gold badges161 silver badges288 bronze badges

hỏi ngày 15 tháng 3 năm 2011 lúc 2:10Mar 15, 2011 at 2:10

3

0.0%
2 Hỗ trợ một phần trăm điểm chính độ điểm chính xác:

>>> print "{0:.0%}".format(1./3)
33%

Nếu bạn không muốn phân chia số nguyên, bạn có thể nhập bộ phận của Python3 từ

0.0%
3:

>>> from __future__ import division
>>> 1 / 3
0.3333333333333333

# The above 33% example would could now be written without the explicit
# float conversion:
>>> print "{0:.0f}%".format(1/3 * 100)
33%

# Or even shorter using the format mini language:
>>> print "{:.0%}".format(1/3)
33%

Maxymoo

34K9 Huy hiệu vàng91 Huy hiệu bạc115 Huy hiệu đồng9 gold badges91 silver badges115 bronze badges

Đã trả lời ngày 15 tháng 3 năm 2011 lúc 2:16Mar 15, 2011 at 2:16

Mikumikumiku

Phim thương hiệu vàng 176K4646 gold badges303 silver badges307 bronze badges

7

Có một cách thuận tiện hơn 'Tùy chọn định dạng phần trăm cho phương thức định dạng

0.0%
4:

>>> '{:.1%}'.format(1/3.0)
'33.3%'

Đã trả lời ngày 20 tháng 5 năm 2014 lúc 16:00May 20, 2014 at 16:00

5

Chỉ vì sự hoàn chỉnh, vì tôi nhận thấy không ai đề xuất cách tiếp cận đơn giản này:

>>> print("%.0f%%" % (100 * 1.0/3))
33%

Details:

  • 0.0%
    
    5 là viết tắt của "In phao với 0 chữ số thập phân", vì vậy
    0.0%
    
    6 sẽ in
    0.0%
    
    7
  • 0.0%
    
    8 in một nghĩa đen
    0.0%
    
    9. Sạch hơn một chút so với
    >>> print "{0:.0%}".format(1./3)
    33%
    
    0 ban đầu của bạn
  • >>> print "{0:.0%}".format(1./3)
    33%
    
    1 Thay vì
    >>> print "{0:.0%}".format(1./3)
    33%
    
    2 chăm sóc việc ép buộc bộ phận để nổi, vì vậy không còn
    >>> print "{0:.0%}".format(1./3)
    33%
    
    3

Đã trả lời ngày 15 tháng 8 năm 2013 lúc 10:52Aug 15, 2013 at 10:52

MestrelionmestrelionMestreLion

12.1k5 Huy hiệu vàng63 Huy hiệu bạc57 Huy hiệu Đồng5 gold badges63 silver badges57 bronze badges

6

Chỉ để thêm giải pháp chuỗi Python 3 F

prob = 1.0/3.0
print(f"{prob:.0%}")

Đã trả lời ngày 24 tháng 9 năm 2019 lúc 21:48Sep 24, 2019 at 21:48

Menrfamenrfamenrfa

1.29711 Huy hiệu bạc13 Huy hiệu đồng11 silver badges13 bronze badges

4

Bạn đang chia số nguyên sau đó chuyển đổi thành float. Chia cho phao thay thế.

Như một phần thưởng, hãy sử dụng các phương thức định dạng chuỗi tuyệt vời được mô tả ở đây: http://docs.python.org/l Library

Để chỉ định một phần trăm chuyển đổi và độ chính xác.

>>> float(1) / float(3)
[Out] 0.33333333333333331

>>> 1.0/3.0
[Out] 0.33333333333333331

>>> '{0:.0%}'.format(1.0/3.0) # use string formatting to specify precision
[Out] '33%'

>>> '{percent:.2%}'.format(percent=1.0/3.0)
[Out] '33.33%'

Một viên ngọc tuyệt vời!

Đã trả lời ngày 15 tháng 3 năm 2011 lúc 2:16Mar 15, 2011 at 2:16

Hướng dẫn how do you print a value in python with percentages? - làm thế nào để bạn in một giá trị trong python với tỷ lệ phần trăm?

Mikumiku

print str(int(1.0/3.0*100))+'%'

Phim thương hiệu vàng 176K46

Đã trả lời ngày 15 tháng 3 năm 2011 lúc 2:16Mar 15, 2011 at 2:16

3

Mikumiku

ratio = round(1/3, 2) 
print(f"{ratio} %")

output: 0.33 %

Phim thương hiệu vàng 176K46Aug 19, 2021 at 8:16

Hướng dẫn how do you print a value in python with percentages? - làm thế nào để bạn in một giá trị trong python với tỷ lệ phần trăm?

Có một cách thuận tiện hơn 'Tùy chọn định dạng phần trăm cho phương thức định dạng

0.0%
4:DGKang

Đã trả lời ngày 20 tháng 5 năm 2014 lúc 16:001 silver badge13 bronze badges

1

Chỉ vì sự hoàn chỉnh, vì tôi nhận thấy không ai đề xuất cách tiếp cận đơn giản này:

0.0%
0

0.0%
5 là viết tắt của "In phao với 0 chữ số thập phân", vì vậy
0.0%
6 sẽ in
0.0%
7Jul 11 at 20:59

%S trong python in là gì?

%s hoạt động như một trình giữ chỗ cho giá trị thực.Bạn đặt giá trị thực sau khi vận hành %.Phương pháp này thường được gọi là cách "cũ" vì Python 3 đã giới thiệu str.Định dạng () và định dạng chuỗi chữ (F-String).acts as a placeholder for the real value. You place the real value after the % operator. This method is often referred to as the "older" way because Python 3 introduced str. format() and formatted string literals (f-strings).

Sự khác biệt giữa %d và %s trong Python là gì?

Trong Python, cả %s và %D đều là người giữ chỗ cho một chuỗi và một số tương ứng.%s sẽ trả về chuỗi và %D sẽ trả về số, các giá trị được truyền bằng toán tử %.%s will return the string and %d will return number, the values are passed using % operator.

Có chức năng phần trăm trong Python không?

Không có nhà điều hành như vậy trong Python, nhưng nó là tầm thường để tự mình thực hiện.Trong thực tế trong điện toán, tỷ lệ phần trăm gần như không hữu ích như một modulo, vì vậy không có ngôn ngữ nào mà tôi có thể nghĩ về việc thực hiện một., but it is trivial to implement on your own. In practice in computing, percentages are not nearly as useful as a modulo, so no language that I can think of implements one.