quur = int(input('ENTER NUMBER : '))
quub = int(input('ENTER NUMBER : '))
def quureC (quur) :
while quur > 0 :
quur - quub
print(" The quotient of 10 is ", (quureC (quur))
答案 0 :(得分:2)
所以python有这个很酷的运算符"%Modulus"用左手操作数除左手操作数并返回余数。我认为这就是你要找的东西。
quur = 10
quub = 3
print(quur % quub)
>>> 1
然而,你的代码正在运行,但是它会陷入无限循环,因为你没有重新分配quur。
试试这个:
while quur > 0 :
quur = quur - quub
我认为这也有效:
while quur > 0 :
quur -= quub
所以你的代码看起来像这样:
#Gets the inputs from user
quur = int(input('ENTER NUMBER : '))
quub = int(input('ENTER NUMBER : '))
#define a method to do our division by subtraction
def quureC (quur) :
#Sets a variable to 0
count = 0
# while variable quur is less than or equal to 0 repeat
while quur >= 0 :
#quur is equal to quur minus quub
quur = quur - quub
#add one to count
count = count + 1
#once our while loop condition is met, return the current value of count
return count
#quotient is assigned whatever is returned from our method quurec
quotient = quureC (quur)
#print the result
print(" the while loop repeated and the quotient is " + quotient)
这应该有效,但我认为它不会返回您正在寻找的确切结果。
看看while循环:http://www.tutorialspoint.com/python/python_while_loop.htm
希望这会有所帮助:)
答案 1 :(得分:1)
你没有修改quur的价值。你想这样做:
while quur > 0:
quur = quur - quub
答案 2 :(得分:0)
你的代码有两个问题:首先你不修改quur
的值,因此你陷入无限循环,第二个算法是错误的,正确的是减去分母从分子开始,当这大于分母时,无论剩下的是什么,剩下的以及你做了多少次就是你要搜索的结果
def division(numerator,denominator):
if denominator == 0:
raise ZeroDivisionError
fraction = 0
remainder = numerator
while remainder >= denominator:
remainder = remainder - denominator
fraction = fraction + 1
return (fraction, remainder)
最后您得到的数字是numerator == denominator*fraction + remainder
0 <= remainder < denominator
和fraction >= 0
python已将此实现为//
运算符,以使余数使用模运算符%
并同时使用divmod
。上面的函数大部分等同于python的内置divmod
,但实际的实现可能不同
你的功能的另一点是你将quub
视为一个全局变量,虽然这本身并不坏,但它限制了你的功能的灵活性。
或者您不喜欢remainder
变量
def division(numerator,denominator):
if denominator == 0:
raise ZeroDivisionError
fraction = 0
while numerator >= denominator:
numerator = numerator - denominator
fraction = fraction + 1
return (fraction, numerator)
在这种情况下,最终numerator
是除法的剩余部分
答案 3 :(得分:0)
3.7中的正确代码
def divide(a,b,i=1):
if a>b:
c=a-b
return divide(c,b,i+1)
else:
return i
print("Quotient is:",divide(n1,n2))