首页 > 解决方案 > 我想我已经为自己复杂化了

问题描述

所以我正在练习简单的python作为学校的修订版,并且遇到了挑战“编写一个要求用户输入数字的算法。然后程序应该从0开始计数,并且对于每个其他数字它应该输出“Boo”。


for count in range(count,10):
    print(count)
    count +=2
    if count % 2 == 0:
         print("boo")

这就是我试图使用的东西,我把它弄乱了一点,试图让它工作,但由于某种原因,我想不出正确的方法。

标签: loops

解决方案


这是一个解决方案:

for num in range(0, count + 1):
    if num % 2 == 0:
         print(num)
    else: 
        print("boo")

让我们看看每一行:

for num in range(0, count + 1):

左边的数字range是起点。右边的数字是它计数的数字。

我改为countnum消除语法中的一些混乱。该range函数创建一个从 0 到 (n - 1) 的数字列表,因此我将 1 加到 count 中,因此它将计数到 n 而不是 n - 1。

    if num % 2 == 0:
         print(num)
    else: 
        print("boo")

num % 2检查一个数字是否是偶数。从技术上讲,0 将被视为“偶数”,因为 0 % 2 = 0。因为算法以 0 开头,所以我们将打印 num,而每隔一个 num(奇数)将打印“boo”


推荐阅读