在 Python 中根据用户输入计算百分比
Calculate percentage from user Input in Python
根据用户输入计算百分比:
- 将输入值转换为浮点数。
- 使用除法
/
运算符将一个数除以另一个数。 - 将商乘以
100
得到百分比。 - 结果显示第一个数字占第二个数字的百分比。
主程序
# 👇️ if you need to format an input value to 1 or more decimal places user_input = input('Type a percentage, e.g. 10: ') result = f'{float(user_input) / 100:.1%}' print(result) # 👉️ 10.0% # ---------------------------------------- # 👇️ make sure to convert input() result to float() def is_what_percent_of(num_a, num_b): return (num_a / num_b) * 100 print(is_what_percent_of(25, 75)) # 👉️ 33.33 print(is_what_percent_of(15, 93)) # 👉️ 16.12903.. print(round(is_what_percent_of(15, 93), 2)) # 👉️ 16.13 # -------------------------------------------------- def get_percentage_increase(num_a, num_b): return ((num_a - num_b) / num_b) * 100 print(get_percentage_increase(60, 30)) # 👉️ 100.0 print(get_percentage_increase(40, 100)) # 👉️ -60.0 # -------------------------------------------------- def get_remainder(num_a, num_b): return num_a % num_b print(get_remainder(50, 15)) # 👉️ 5 print(get_remainder(50, 20)) # 👉️ 10
第一个示例使用格式化字符串文字将输入值格式化为一位或多位小数。
主程序
user_input = input('Type a percentage, e.g. 10: ') result = f'{float(user_input) / 100:.1%}' print(result) # 👉️ 10.0% result = f'{float(user_input) / 100:.2%}' print(result) # 👉️ 10.00%
格式化字符串文字 (f-strings) 让我们通过在字符串前加上
f
.确保将表达式括在大括号 –{expression}
中。
我们还能够在 f 字符串的表达式中使用
格式规范迷你语言
。
主程序
my_float = 0.79 result_1 = f'{my_float:.1%}' print(result_1) # 👉️ 79.0% result_2 = f'{my_float:.2%}' print(result_2) # 👉️ 79.00%
如果您需要计算一个数字占另一个数字的百分比,请将一个数字除以另一个数字,然后将结果乘以100
。
主程序
def is_what_percent_of(num_a, num_b): return (num_a / num_b) * 100 num1 = float(input('Enter a number: ')) # 👉️ 25 num2 = float(input('Enter another number: ')) # 👉️ 75 result = is_what_percent_of(num1, num2) print(result) # 👉️ 33.33333333333333 print(round(result, 2)) # 👉️ 33.33
确保使用float()
该类将输入字符串转换为浮点数。
input()
即使用户输入数字,该函数也保证返回一个字符串。round()
如果您需要将结果四舍五入到 N 位小数,请使用该函数。
该
round
函数返回四舍五入到小数点后的精度的数字。 ndigits
请注意,如果您尝试除以0
,您会得到一个ZeroDivisionError
.
如果您需要获得从一个数字到另一个数字的百分比增加,请使用以下函数。
主程序
def get_percentage_increase(num_a, num_b): return ((num_a - num_b) / num_b) * 100 print(get_percentage_increase(60, 30)) # 👉️ 100.0 print(get_percentage_increase(40, 100)) # 👉️ -60.0
第一个示例显示从60
到增加的百分比30
是
100 %
。
而第二个例子表明,从40
到增加的百分比100
是
-60%
。
如果您总是需要得到一个正数,请使用该abs()
函数。
主程序
def get_percentage_increase(num_a, num_b): return abs((num_a - num_b) / num_b) * 100 print(get_percentage_increase(60, 30)) # 👉️ 100.0 print(get_percentage_increase(40, 100)) # 👉️ 60.0
abs函数返回数字的绝对值。换句话说,如果数字是正数,则返回数字,如果数字是负数,则返回数字的负数。