📅  最后修改于: 2023-12-03 15:13:09.195000             🧑  作者: Mango
本程序旨在判断输入的数是否为有理数。
判断一个数是否为有理数的方法是判断它能否表示为一个整数除以另一个不为0的整数的形式,即$$\frac{m}{n},\ \ (m,n\in \mathbb{Z},\ n\neq 0)$$ 如果能够表示为这种形式,则为有理数。否则就不是有理数。
def is_rational(num):
try:
num = float(num) # 将输入的字符串转换为浮点数
except ValueError:
return False # 如果无法转换则不为有理数
if num == int(num): # 如果输入的数为整数,则为有理数
return True
# 尝试表示为一个整数除以另一个不为0的整数的形式
for i in range(1, 1000): # 枚举分母
if int(num * i) == num * i: # 如果分子为整数
return True
return False # 如果无法表示为该形式,则不为有理数
我们可以通过调用 is_rational
函数来判断一个数是否为有理数。例如:
print(is_rational(6.75)) # 输出 False
因为无法表示为一个整数除以另一个不为0的整数的形式,所以6.75不是有理数。