为什么我的python代码根本没有输出?
我用python编写了一些代码来查看一个数字可以被一个数字除以多少次,直到它得到一个值为什么我的python代码根本没有输出?,python,python-3.x,if-statement,debugging,while-loop,Python,Python 3.x,If Statement,Debugging,While Loop,我用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) 计数器变
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)
计数器变量=1
商=num1/num2
如果商=1:
商=num1/num2
计数器变量=计数器变量+1
打印(计数器变量)
它不会结束进程,但也不会给出任何输出。您不会更改while循环中商的值。它保持不变。
如果我正确理解你的问题,它应该是商,而不是商,
在num1>num2的情况下,您将进入一个无止境的while循环,因此您将永远无法访问
打印(计数器变量)
代码片段我对您的代码做了一点更改,因为您总是将商定义为初始数字。相反,将商除以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
商=num1/num2
如果商=1:
商=商/num2
计数器变量=计数器变量+1
打印(计数器变量)
让我们用一个例子来分解您的代码:
第1节:所有好代码
让我们举一个例子
num1=20
num2=4
第1节。一切都很好。商的值为5.0
。所以它进入while语句。商
将始终保持5.0
你认为下一次计算的结果是什么?您没有更改num1
和num2
的值,因此它将继续为5.0
。所以它进入了一个无止境的循环
如果您想更改代码,您必须弄清楚如何更改num1
的值,以便它可以进一步分割
希望这能帮助您调试代码以获得正确答案。我会让你去想办法解决这个问题
提示:任何数字被自身除后将继续保持为1。你想看看你的while循环,做一个小小的改变。应该是=
?你写了一个无限循环!例如,如果将1作为num1的输入,将1作为num2的输入!所以这里的商取1!!所以你陷入了无限循环!我不明白你的计划我是说你想做什么!你必须先告诉我这个问题商的值没有改变,所以循环永远在继续。例如,如果商是3,num1是18,num2是6。程序将进入else语句,然后继续执行while语句。它将18除以6,将商的值设置为3,并将计数器的值递增1。然后返回到循环的顶部,做同样的事情,因为商>=1,商的值永远不会改变,这导致循环永远继续
其他问题:
变量名不应该有下划线,并且应该是camelCased,这意味着它应该是counterVar。
另外,你应该有更多的描述性名称,而不是num1和num2。无论你用num1
除以num2
多少次,结果都是一样的。我看不出当num1=20,num2=4时,商会是1.0。从5.0开始,一直保持5.0。的确,当num1=num2=1时,应该特别注意避免无限循环,但是这个答案不能准确地诊断询问者代码中发生了什么。
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)