使用while循环检查小数点

时间:2018-12-03 17:41:18

标签: python python-3.x while-loop

我编写了一些代码来检查两个输入变量是否包含小数点:

while "." in n:
    print()
    print("Please enter only integer numbers")
    n = input("Please enter the numerator:")
    d = input("Please enter the denominator:")

while "." in d:
    print()
    print("Please enter only integer numbers")
    n = input("Please enter the numerator:")
    d = input("Please enter the denominator:")

但是,如果小数后跟0,例如,我需要一种忽略这些循环的方法。 4.0或8.0。

是否可以执行此操作,或者是否有更好的方法可以检查输入的数字是否为小数?我不想从一开始就使输入成为浮点数,因为如果用户输入整数,它也需要工作。

我正在使用的python版本是3.5.4。

4 个答案:

答案 0 :(得分:3)

这是您正在寻找的解决方案

while int(float(d)) != float(d) or int(float(n)) != float(n):

其他答案不适用于8.05

之类的数字

答案 1 :(得分:1)

要piggy带@public static void main的答案, 您还可以巩固循环。

model = policy_network()
model.fit(images, actions,
          batch_size=256,
          epochs=10,
          shuffle=True)
action = model.predict(image)

答案 2 :(得分:0)

替换此:

while "." in n:

与此:

while "." in n and ".0" not in n:

这使循环中的代码在“。”时执行。在n中找到,但在n中找不到

答案 3 :(得分:0)

考虑将它们与实际值类型进行比较:

while int(float(d)) != float(d) or int(float(n)) != float(n):