如何解决为什么我在python中的代码根本不给出输出?
我在python中编写了一些代码,以查看一个数字可以被一个数字除以多少次,直到得到一个值。
counter_var = 1
quotient = num1/num2
if quotient<1:
print('1 time')
else:
while quotient >= 1:
quotient = num1/num2
counter_var = counter_var + 1
print(counter_var)
它并没有结束进程,但是也没有提供任何输出。
解决方法
您没有在while循环中更改商的值。它保持不变。 如果我正确理解了您的问题,则应该使用商/ = num2 ,而不是 quotient = num1 / num2 。
,首先,您缺少数字分配,
在num1> num2的情况下,您将进入无尽的while循环,因此您将永远无法进入 print(counter_var)
片段
由于您总是将商定义为初始数字,因此我对您的代码做了些微更改。而是将商除以num2。
counter_var = 1
quotient = num1/num2
if quotient<1:
print('1 time')
else:
quotient = num1/num2
while quotient >= 1:
quotient = quotient/num2
counter_var = counter_var + 1
print(counter_var)
,
让我们通过示例细分您的代码:
第1节:所有好的代码
counter_var = 1
quotient = num1/num2
if quotient<1:
print('1 time')
else:
第2节:问题代码
while quotient >= 1:
quotient = num1/num2
counter_var = counter_var + 1
print(counter_var)
让我们举个例子吧
num1 = 20
num2 = 4
它通过第1节。一切都很好。 quotient
的值为5.0
。因此它进入while语句。 quotient
将始终保留为5.0
。
您认为下一次计算的结果是什么?您没有更改num1
和num2
的值,因此它将继续为5.0
。因此,它陷入了无休止的循环。
如果要更改代码,则必须弄清楚如何更改num1
的值,以便可以进一步划分。
希望这可以帮助您调试代码以获得正确的答案。我将让您找出解决方法。
提示:任何除以自身的数字将继续保持为1。您可能想查看一下while循环并进行一些小的更改。应该是>=
吗?
您编写了一个无限循环!例如,如果您将1作为num1的输入,将1也作为num2的输入!所以商在这里取1!所以你陷入无限循环!我不理解您的程序,我是说您想做什么!你必须先让我看看问题
,商的值没有改变,因此循环永远持续下去。例如,如果商是3,num1是18,num2是6。则程序将进入else语句,然后继续进行while语句。它用18除以6,并将商的值设置为3,并将counter_var递增1。然后,它回到循环顶部并执行相同的操作,因为quotient> = 1,并且quotient的值永远不会改变,这导致循环永远持续下去。
其他问题:
变量名称不应带有下划线,并且应使用驼峰式表示,这应该是反变量。 另外,您应该使用更具描述性的名称,而不是num1和num2。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。