import math
#entrada
x=int(input("Put a number here:"))
#processo
num1=int(math.sqrt(x))
num2=round(num1,0)
num3=num2**2
remaining=x-num3
#saída
print("The remaining is:",remaining)
我做了這個代碼來獲得一個完美的正方形的剩餘,對於任何「INT」號,現在我想改善這種代碼所以它使用最後一個答案(存儲在「剩餘」中)保持爲「0」(並在此之後停止計算)。計數多少次我用一個公式,直到它達到Python中的特定結果
然後,它完成計算後,我想指望有多少次我用的公式,直到它達到「0」
我知道這是很難理解把生病嘗試用一個例子:
對於數字87,其餘的將在這個代碼中是6,因爲87-(9 2)= 6,我想用這個結果(6)並且做出相同的方程,然後結果將是(2),因爲6- 2 2)= 2,然後再次執行(1),然後停止,一旦它返回(0)。在這個例子中,我要計算方程用來達到(0)的次數,在這個例子中,它將是4(87 6)(6 2)(2 1)(1 0)。 (4)
我知道這是很多要求幫助我(這是一個很大的要求),但我只是盯着編程現在(10)幾天前),我無法在互聯網上的其他地方找到我想要的東西。謝謝您的幫助。另外,如果有什麼方法可以讓我的原始代碼更好地告訴我。
而是一輪,你可能想使用np.floor總是向下取整。將你的代碼放在一個函數中並遞歸使用。 – Joe
謝謝@Joe是的,你說得對,我已經把它改成了math.floor(num1),謝謝。 – Mateus