1.读题
2.思考
一个最简分数,分母如果只包含2和5的因数就可以化成有限小数.如果含有2和5以外的因数就只能化成无限循环小数.
例如:1/2,1/8,1/20,5/32,9/40就可以化成有限小数.
1/3,1/14,9/55,8/21只能化成无限循环小数.
3.码代码# -*- coding: utf-8 -*-
from fractions import Fraction
#判断一个数的因数是否包含2或者5
def judge_num(in_num):
l = []
while in_num > 1:
for i in range(2, in_num+1):
if in_num % i == 0:
in_num = in_num // i
l.append(str(i))
break
for x in l:
if x!='2' and x!='5':
return False
else:
return True
#判断数据类型与被除数
def error(in_num1, in_num2):
if isinstance(in_num1, int) and isinstance(in_num2, int):
if in_num2!=0:
return in_num1, in_num2
else:
return False
else:
return int(in_num1),int(in_num2)
#除法程序
def divi(num1, num2):
res = Fraction(num1,num2)
fm = res.denominator #得到最简式分母
if judge_num(fm):
print(num1/num2)
else:
print(res)
a,b =map(int,input('输入除数,被除数并用空格隔开:').split())
if error(a, b):
divi(error(a,b)[0],error(a,b)[1])
else:
print('被除数不能为零,请重新输入')<
4.看结果