如何在Python中为float(input)获取的数值末尾添加%符号
实现方案
要实现你要的输入后自动追加%的终端展示效果,直接通过input的固定提示做不到,需要在拿到输入值后重写输入行即可,修改后的可运行代码如下:
def percentIs(percentNum, num): # 注:原有计算逻辑不符合百分比规则,正常需除以100,不需要可以删掉/100部分 percent = percentNum * num / 100 return str(percent) + "%" # 接收百分比数值输入 percent_input = input("What is ") percentNum = float(percent_input) # 重写上一行输入内容,末尾补% print(f"\033[FWhat is {percent_input} %") # 接收基数输入 num = float(input("of: ")) print(percentIs(percentNum, num))
如果你的运行环境是旧版Windows终端,不支持ANSI转义序列\033[F(光标上移),可以换成退格覆盖的兼容写法,把重写行的代码替换为:
# 兼容旧终端的写法 print("\b" * (len(percent_input) + 1) + f"{percent_input} %")
内容的提问来源于stack exchange,提问作者Rienzi
相关产品推荐
相关产品推荐

