Skip to main content
 首页 » 编程设计

python之将整数表示为分数形式的倒数的函数

2025年05月04日16birdshome

我正在编写一个小函数,将整数转换为分数形式的倒数。到目前为止,这是我定义函数的方式:

    def reciprocal (number): 
      return "1/",number 

这种方法可行,但问题是它没有像我想的那样在屏幕上打印答案,因为说我做了 print reciprocal(3) 它会显示 ('1/', 3) 在屏幕上而不是 1/3。我在代码中尝试了各种语音标记和括号的组合,但答案仍然有额外的括号和反引号。我正在使用 python 2.7.10,有没有办法摆脱这些?或者是否有任何其他简单的方法可以将整数表示为分数形式的倒数,从而消除它们?谢谢

请您参考如下方法:

是的。因为这一行实际上是在返回一个元组:

return "1/",number 

如果你只是打印:

type(reciprocal(3)) 

您将看到结果将是元组。

为了保持以下功能:

print(reciprocal(3)) 

你会想做这样的事情:

return "1/{}".format(number) 

现在,上面的代码实际上会返回一个字符串而不是一个元组。上面是使用字符串格式化的方法,可以看一下here .最终您要做的是创建一个看起来像 1/x 的字符串,其中 x 是数字。表示 x 的方法是使用花括号,然后使用占位符来设置您传递给 format 的任何内容。阅读文档以了解其工作原理。

为了帮助扩展它,分开后它的实际样子是这样的:

s = "1/" 

现在,您希望能够设置参数 number。字符串对象支持多种方法,其中之一是format。所以你实际上可以简单地调用它:s.format()。但是,这不会简单地按照您想要的方式工作。因此,根据文档,为了使用此 format 方法,您需要在您的字符串中设置您想要设置您想要放置在字符串中的参数的确切位置。这是通过使用占位符字符 {} 来指示这一点来完成的。所以:

s = "1/" 

现在是

s = "1/{}".format(number) 

我们将 {} 设置为我们希望 number 所在的位置的占位符,并且我们分配了 what 将在该占位符中将 number 传递给格式。

如果您实际上打印结果的 type,您可以进一步了解现在您如何拥有一个字符串:

print(type(reciprocal(3))) 

你会看到它现在是一个 str 类型。

作为 Python 中的注释,您可以创建一个包含逗号分隔值的元组:

>>> d = 1, 2 
>>> type(d) 
<class 'tuple'> 

这正是您的函数返回元组的原因,因为您返回的是仅用逗号分隔的两个值。