如何从方法中返回字符串和整数值?

时间:2017-10-03 14:56:42

标签: python python-3.x

我很难弄清楚如何使用"%"来恢复我的功能。登录。

这就是我所拥有的:

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 "%"

但这些都没有真正起作用,它给了我一个错误。

2 个答案:

答案 0 :(得分:3)

对于单个返回值:您无法

问题是int(answer)是一个数字而'%'是一个字符串,所以你不能将它们组合在一个返回值中 - 除非你将它们都转换成相同的数据类型。

尝试将两个值都转换为字符串:

return "{}%".format(int(answer))

答案 1 :(得分:0)

你可以完全超越并定义自己的整数类型,用百分号显示自己:

class pint(int):
    def __str__(self):
        return super().__str__() + '%'
    __repr__ = __str__

现在,您可以将函数的返回值设为pint(answer),并获得将数字实际上设为数字,同时始终以百分比打印的好处。

我并不是真的推荐这种方法用于你的琐碎案例,但它可能有其用途。