python3 解决除法中循环小数计算并判断循环体
python3 解決除法中循環小數計算并判斷循環體
#解決分數變小數,小數位數受到計算機位數限制的問題。任意位小數除法2019.11.25
r = [] # 放結果
x = 0
#-------------計算過程-------------------------
def divcal(a,b,c): # 計算主函數 a/b 留c位小數
a1 = a
print(a1,b,c)
if a1 < b : #小于1,打印0.
a1 = a1 * 10
print(“0.”,end="")
#--------除法過程中遞歸方法找到能運算到數-----------
def aplus(a1,b): #迭代找到剛好大于除數到數字
global x #必須聲明x是全局變量,否則結果回傳不了
if a1 < b:
a1 = a1 * 10
r.append(0)
aplus(a1,b)
else:
x = a1
return
#---------找循環節--------------------------
def findxhj():
for i in range(0,int(len?/2)): #小數部分起點
for j in range(1,int(len?/2)): #循環節長度
str_1 = r[i:i+j]
str_2 = r[i+j:i+2*j]
if str_1 == str_2 :
print(“循環節:”, end="")
for i in range(0, len(str_1)):
print(str(str_1[i]), end="")
print("-----",len(str_1),“位”)
return
if name == ‘main’:
a = 9 # 被除數
b = 49 # 除數
c = 200 # 小數位數
divcal(a, b, c)
findxhj()
總結
以上是生活随笔為你收集整理的python3 解决除法中循环小数计算并判断循环体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数练习,腾讯笔试
- 下一篇: PHP 实现防抖功能(防重复请求)