【问题标题】:How is it possible to use a while loop to print even numbers 2 through 100?如何使用 while 循环打印偶数 2 到 100?
【发布时间】:2016-10-17 19:44:08
【问题描述】:

我是一个初学者,我被这个问题困住了,“编写一个使用 while 循环打印从 2 到 100 的偶数的 python 代码。提示 ConsecutiveEven 相差 2。”

这是我到目前为止的想法:

 while num in range(22,101,2):
              print(num)

【问题讨论】:

  • 有什么问题?你当前的代码做了什么你没想到的(或者没有做你所期望的)?
  • 这是一个 for 循环,而改写了 while
  • 这里有一个提示:while num <= 100:
  • 所以只要条件为真,while 循环就会一直运行。想想如果你以i = 2 开头,而while i <= 100: 是循环条件,那么这样的循环会做什么......
  • 你可以看到这个问题它会帮助你stackoverflow.com/questions/2184745/even-numbers-in-python

标签: python loops while-loop


【解决方案1】:

forrange() 一起使用,或使用while 并显式增加数字。例如:

>>> i = 2
>>> while i <=10: # Using while
...    print(i)
...    i += 2
...
2
4
6
8
10

>>> for i in range(2, 11, 2): # Using for
...    print(i)
...
2
4
6
8
10

【讨论】:

    【解决方案2】:

    这是我会尝试的:

    i=2
    while i <= 100:
        if ( i % 2==0):
            print (i, end=', ')
        i+=1
    

    【讨论】:

    • 虽然此代码可能在技术上回答了这个问题,但添加解释将极大地帮助 OP 和未来的访问者。对于初级问题尤其如此,用户试图理解程序和语言如何工作的概念。请使用edit 按钮为提供的代码添加说明。感谢您帮助 SO 成为适合所有级别编码人员的优秀社区。​​span>
    【解决方案3】:

    你的代码有几个问题:

    • while 替换具有for 语法的语句。 while 接受一个布尔值,而不是一个可迭代对象。
    • range 使用不正确的值:您将从 22 开始。

    只需进行少量更改,这应该可以工作:

    for num in range(2, 101, 2):
        print(num)
    

    请注意,我使用101 作为range 的上限,因为它是独有的。如果我输入100,它将停在98

    如果您需要使用while 循环:

    n = 2
    while n <= 100:
        print (n)
        n += 2
    

    【讨论】:

      【解决方案4】:

      这里是如何使用while循环

       while [condition]:
           logic here
      

      在范围内使用是不正确的。

      num = 0
      while num <=100:
          if num % 2 == 0:
              print(num)
          num += 1
      

      【讨论】:

      • 为什么不num += 2
      • 那你就不用查num%2@Mani
      【解决方案5】:

      使用 for while 编写一个只显示 1 到 20 的偶数的函数。确保你的函数被称为打印机

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 1970-01-01
      • 2020-04-17
      • 2022-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 2021-08-26
      • 1970-01-01
      相关资源
      最近更新 更多