我很难弄清楚如何使用"%"来恢复我的功能。登录。
这就是我所拥有的:
def calculate(string):
A = string.count("A")
D = string.count("D")
x = A + D
answer = (x / len(string)) * 100
return int(answer)
我希望它能够返回最终答案,但旁边有一个百分号,例如' 65%'例如
我试过这些:
return int(answer) + "%"
return int(answer) and "%"
但这些都没有真正起作用,它给了我一个错误。
答案 0 :(得分:3)
对于单个返回值:您无法
问题是int(answer)
是一个数字而'%'
是一个字符串,所以你不能将它们组合在一个返回值中 - 除非你将它们都转换成相同的数据类型。
尝试将两个值都转换为字符串:
return "{}%".format(int(answer))
答案 1 :(得分:0)
你可以完全超越并定义自己的整数类型,用百分号显示自己:
class pint(int): def __str__(self): return super().__str__() + '%' __repr__ = __str__
现在,您可以将函数的返回值设为pint(answer)
,并获得将数字实际上设为数字,同时始终以百分比打印的好处。
我并不是真的推荐这种方法用于你的琐碎案例,但它可能有其用途。