Python基础知识打印1到100

时间:2014-01-17 11:10:43

标签: python

def gukan(count):
    while count!=100:
      print(count)
      count=count+1;
gukan(0)

我的问题是:当我尝试在count=count+1中增加3或9而不是1时,我会得到一个无限循环 - 为什么会这样?

10 个答案:

答案 0 :(得分:15)

这里的答案已经指出,因为在递增计数之后它并不等于完全 100,然后它会继续进行,因为标准不会被满足(它的符号)您可能希望<小于 100)。

我只是补充一点,你应该真正关注Python的内置range函数,该函数从起始值生成一系列整数(但不包括)另一个值,以及一个可选的步骤 - 所以你可以从一次添加1或3或9进行调整......

0-100(但不包括100,默认值从0开始,步进1):

for number in range(100):
    print(number)

0-100(但不包括并确保数字不超过100),步骤为3:

for number in range(0, 100, 3):
    print(number)

答案 1 :(得分:11)

当您将count = count + 1更改为count = count + 3count = count + 9时,count永远不会等于100.最好是99.这还不够。

你在这里得到的是无限循环的经典案例:count永远不会等于到100(当然,在某些时候它会大于100,但你的while循环不会检查此情况)并且while循环会一直亮着。

你想要的可能是:

while count < 100: # Or <=, if you feel like printing a hundred.

while count != 0:  # Spaces around !=. Makes Guido van Rossum happy.

现在循环将在count >= 100时终止。

看看Python documentation

答案 2 :(得分:1)

你的计数永远不会等于100,所以你的循环将继续,直到这是真的

替换你的while子句
def gukan(count):
    while count < 100:
      print(count)
      count=count+3;
gukan(0)

这将解决您的问题,程序正在根据您给出的条件正确执行。

答案 3 :(得分:1)

因为如果您使用

更改代码
def gukan(count):
    while count!=100:
      print(count)
      count=count+3;
gukan(0)

计数达到99,然后在下一次迭代102。

所以

count != 100

永远不会评估为真,循环会永远持续

如果您想数到100,可以使用

def gukan(count):
    while count <= 100:
      print(count)
      count=count+3;
gukan(0)

或(如果你想要100总是打印)

def gukan(count):
    while count <= 100:
      print(count)
      count=count+3;
      if count > 100:
          count = 100
gukan(0)

答案 4 :(得分:1)

考虑以下事项:

def gukan(count):
    while count < 100:
      print(count)
      count=count+3;
gukan(0) #prints ..., 93, 96, 99


def gukan(count):
    while count < 100:
      print(count)
      count=count+9;
gukan(0) # prints ..., 81, 90, 99

你应该使用count < 100,因为如果使用3或9作为增量,count将永远不会达到确切的数字100,从而产生无限循环。

祝你好运!〜:)

答案 5 :(得分:1)

第一行定义变量。第二行将其循环为100,第三行将1加1,第4行将a除以3,如果没有余数(0)则将打印该数字,否则将打印一个空行。

 a = (0)

for i in range(0,100):
     a = a + 1
if a % 3 == 0:
    print(a)
else:
    print("")

答案 6 :(得分:0)

当你使用count = count + 3或count = count + 9而不是count = count + 1时,count的值永远不会是100,因此它会进入无限循环。

您可以使用以下代码来使用您的条件

while count&lt; 100:

现在,当count> = 100时,循环将终止。

答案 7 :(得分:0)

x = 1 而x <= 100时: 打印(x) x = x + 3

答案 8 :(得分:0)

我猜想它会造成无限循环,因为您跳过数字100。如果将critera设置为小于101,则应该达到目的:)

def gukan(count):
    while count<100:
      print(count)
      count=count+3;
gukan(0)

答案 9 :(得分:-1)

因为条件永远不会成立。 当count = count + 3或count = count + 9时,count!= 100永远不会执行。 试试这个.. while count<100