擅长:python、mysql、java
<p>您可以从打印出<code>f</code>和<code>g</code>的状态开始,看看为什么在<code>if</code>语句中没有发生任何事情。你知道吗</p>
<pre><code>def mcd(n1,n2):
mxcd = 0
for i in range(1,n1):
f = n1 % i
print('i is {}, f is {}'.format(i, f))
for j in range(1,n2):
g = n2 % j
print('\n j is {}, g is {}'.format(j, g))
if (f == 0 and g == 0 and f == g):
mxcd = f
else:
mxcd = "No hay comun divisor"
return mxcd
</code></pre>
<p>运行类似<code>mcd(2,4)</code>的程序可以让您了解很多:</p>
<pre><code>i is 1, f is 0
j is 1, g is 0
j is 2, g is 0
j is 3, g is 1
'No hay comun divisor'
</code></pre>
<p>打开<code>if</code>语句,您可以使用类似的技巧看到它:</p>
<pre><code>def mcd(n1,n2):
mxcd = 0
for i in range(1,n1):
f = n1 % i
for j in range(1,n2):
g = n2 % j
if (f == 0 and g == 0 and f == g):
print('hello')
mxcd = f
else:
mxcd = "No hay comun divisor"
return mxcd
> mcd(4,8)
hello
hello
hello
hello
hello
hello
'No hay comun divisor'
</code></pre>
<p>从这里开始,您需要纠正一些问题以获得正确的答案,但我将把这个练习留给您:)</p>