- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为一个项目,我正在从头开始创建一个 Rational 类,它可以将两个分数作为输入并存储简化分数。但是,当我尝试输入两个分数时,它似乎隐式使用整数除法,因此我根本无法存储/操作分数。我是否错误地处理了这个问题?哪里错了?
示例:Rational(3/2,9/2) 返回 (1,4) 而不是 (1/3)。
def gcd(numerator,denominator):
if numerator < 0:
absNum = -numerator
elif denominator < 0:
absDen = -denominator
else:
absNum = numerator
absDen = denominator
while absNum != absDen:
if absNum > absDen:
absNum = absNum - absDen
elif absDen >= absNum:
absDen = absDen - absNum
return(absNum)
class Rational:
def __init__(self,numerator=0,denominator=1):
self.numerator = numerator
self.denominator = denominator
if denominator == 0:
raise ZeroDivisionError("Error: cannot store number with 0 in denominator.")
elif denominator < 0:
if numerator < 0:
self.denominator = -denominator
self.numerator = -numerator
else:
self.numerator = numerator
self.denominator = -denominator
if numerator != 0:
com = gcd(numerator,denominator)
numerator = numerator/com
denominator = denominator/com
self.numerator = numerator
self.denominator = denominator
Rational(5/3,8/3)
按应有的方式返回 (1,2),而不是 (5,8)。编辑:后半部分:我希望能够输入 Rational(Rational(5/3),Rational(8/3)) 和 (5,8) 结果。这似乎与上面略有不同。
最佳答案
from __future__ import division
将解决除法问题。
旁注 - 如果您希望精确存储有理数,则应确保分子和分母都存储为整数。如果我没看错的话,你的 gcd 函数将无法使用 float 。
要解决此问题,您可能需要执行以下操作:
def __init__(self, num, den):
num1, den1 = float(num).as_integer_ratio()
den2, num2 = float(den).as_integer_ratio()
self.numerator = num1 * num2
self.denominator = den1 * den2
...
关于python - 将分数存储为 Rational Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18024403/
据我所知,Rational 是一种测试工具,而 Rational Rose 是一种建模工具。 最佳答案 Rational 是一家为软件开发生命周期制作工具的公司。 Rational Rose 就是这样
所以这个程序的要点是创建一个 Rational 类,这样当您运行它时,就会出现一个 GUI 输入并要求输入分子和分母。然后它将返回减少的分数。但我不断收到此错误消息,但我不知道为什么。这是到目前为止的
看到operator*的实现如下: class Rational { public: Rational(int numerator=0, int denominator=1);
我不小心在我的 RTC 流中为一个组件创建了一个基线,并且还交付了它。我想知道是否有删除基线或撤消基线的方法。如果有人可以提供帮助,我将不胜感激。 最佳答案 您不能删除基线,但可以重命名它以表明您的错
今天我在 Rational 中遇到了奇怪的 ruby 语法类: Rational(a,b) (请注意,与普通的 Ruby 语法相比,缺少 .new() 部分)。与普通的 new 语法相比,这究竟意
我想知道如何加速 RSA 7.5(这是 IBM 的一个 IDE,在引擎盖下有 eclipse 和 websphere 服务器运行时)主要是服务器启动。计算机重新启动后我第一次启动它时,它会加载,但之后
因此,在我的密码学类(class)中,我们得到了一项作业,在问题 1 中,我们必须编写 Solovay-Strassen 素数检验函数的其余部分,这是我写的内容: def SolovayStrasse
我已经在我的实现文件中实现了 operator+= (Rational),但是我偶然发现 Rational+= long long 有效,尽管我还没有实现该特定功能。 我的 main 的相关函数是当我
我们正在使用 IBM RAD/RSA(Rational Application Developer/IBM Rational Software Architect)的第 7 版。 可以选择将其与 CV
这是我的 Rational 类的一个示例,我构建它并在每个方法中进行数学和算法 public class Rational { private int Numerator; private int D
有没有人对 Rational Software Architect 与 Sparx EA 有任何想法?我还应该查看其他工具吗?具体来说,我对以下内容感兴趣; 坚持某些方法论(RUP、SOMF 等)——
作为一个项目,我正在从头开始创建一个 Rational 类,它可以将两个分数作为输入并存储简化分数。但是,当我尝试输入两个分数时,它似乎隐式使用整数除法,因此我根本无法存储/操作分数。我是否错误地处理
我只是按照我的老师的偏好使用 acm 包。 这个程序假设分配10000个有理对象,使它们成为垃圾,然后计算使用垃圾收集器之前和之后的空闲内存。然后,它应该打印垃圾收集器已清除的内存量。 import
所以我已经完成了有理数测试的代码,包括有理数的加法、减法等。我一直试图创建实际输出代码的主类。 这是我的 Rational 类的代码: package rational; public class R
我正在尝试对日期执行减法运算。 date_sent = Date.parse("2013-01-01") #=> Tue, 01 Jan 2013 date_now = Date.today #=>
我有一个 Rational 类,每个操作都有一个方法(add、mult 等) function Rational(nominator, denominator){ this.nominator
我正在使用 Rational Rose,并且我已经创建了一些图表。现在我想将它保存到图像中。例如 JPG 或 PNG。 我在工具中找不到任何允许这样做的选项。有人可以告诉我如何实现这一目标吗? 最佳答
我想测试一个 DOORs 对象的枚举属性的值。如何才能做到这一点?我在哪里可以找到描述此类基本功能的 DXL 文档? if (o."Progress" == 0) // This does NOT w
今天我终于在我的 PC 上安装了 IBM Rational Rhapsody,我打算用 Java 创建我的第一个 Rhapsody 插件。 我开始记录这个主题,但 IBM 站点提到了一个 .jar 文
我们在 RTC 中有一个包含 2 个流的项目: PROJECT-MAIN (component src) - ear - web - ejb PROJECT-RELEASE-1.0.0 (
我是一名优秀的程序员,十分优秀!