Python 写一个for循环,循环到十,然后打印出数字是偶数还是奇数

Python 写一个for循环,循环到十,然后打印出数字是偶数还是奇数,python,for-loop,Python,For Loop,创建一个名为to_ten的列表,其中包含1-10之间的数字。编写一个for循环,循环到_ten并打印出数字是偶数还是奇数。请帮助我了解如何为1-10列表中的每个数字获取关于它是偶数还是奇数的声明 to_ten=['1','2','3','4','5','6','7','8','9','10'] for i in range(10): if i %2==0: i='Number is even' else: i='Number is odd' print(i)

创建一个名为to_ten的列表,其中包含1-10之间的数字。编写一个for循环,循环到_ten并打印出数字是偶数还是奇数。请帮助我了解如何为1-10列表中的每个数字获取关于它是偶数还是奇数的声明

to_ten=['1','2','3','4','5','6','7','8','9','10']

for i in range(10):

    if i %2==0:
        i='Number is even'
    else: i='Number is odd'
print(i)
输出:


您的代码几乎是正确的,但是您需要缩进print语句,以便程序在每次迭代中打印数字。并且,rangenum将从0开始,并且num将不包括在迭代中

[1,2,3,4,5,6,7,8,9,10]相当于python中的range1,11

1 is odd
2 is even
3 is odd
4 is even
5 is odd
6 is even
7 is odd
8 is even
9 is odd
10 is even
输出:

for i in range(1,11):
    if i % 2 == 0: # If the number divided by two leaves no remainder:
        print(f'{i} is even')
    else:
        print(f'{i} is odd')

您的代码有三个问题:首先,您将一个范围替换为to_ten,因此没有实际实现所述的问题;你把str列成一个列表,而不是int列;printi语句的顺序和缩进错误。@biplobiswas的解决方案很好地解决了所有这些小问题+一,

我们可以通过创建一个int列表来简化问题,并让Python为我们生成它,以避免错误。我们还可以将i%2的结果用作索引,而不是使用一系列if语句显式测试它:

1 is odd
2 is even
3 is odd
4 is even
5 is odd
6 is even
7 is odd
8 is even
9 is odd
10 is even

有很多方法可以解决这样的问题。

在代码片段中,我是什么?代码片段来自哪里?它似乎包含接近解决方案的代码。请提出一个精确的问题或在解决问题时遇到的任何错误。@DavidWierichs根据代码我是什么很清楚,但是OP似乎没有使用他的初始列表进行迭代,并且出于某种原因,他们在第一次迭代时将i的值覆盖为字符串。我将其更改为:to_ten=[1,2,3,4,5,6,7,8,9,10]对于to_ten中的list_元素:如果list_元素%2==0:list_元素='Number为偶数'否则:list_元素='Number为奇数'printlist_元素,但它仍然只给我第一个元素,而不是为每个数字指定为偶数或奇数的整个列表
1 is odd
2 is even
3 is odd
4 is even
5 is odd
6 is even
7 is odd
8 is even
9 is odd
10 is even
to_ten = [*range(1, 11)]  # a list containing the numbers from 1-10

for number in to_ten:
    print("{} is {}".format(number, ['even', 'odd'][number % 2]))