首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写一个for循环,该循环遍历to_ten并打印出数字是偶数还是奇数

编写一个for循环,该循环遍历to_ten并打印出数字是偶数还是奇数
EN

Stack Overflow用户
提问于 2020-06-10 02:58:27
回答 3查看 168关注 0票数 0
代码语言:javascript
复制
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循环,该循环遍历to_ten并打印出数字是偶数还是奇数。请帮助我理解如何为1-10列表中的每个数字获取关于它是偶数还是奇数的语句。

EN

回答 3

Stack Overflow用户

发布于 2020-06-10 03:08:17

代码语言:javascript
复制
to_ten=['1','2','3','4','5','6','7','8','9','10']

for i in to_ten:
    if int(i)%2 == 0:
        print(f'{i} is even')
    else:
        print(f'{i} is odd')

输出:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2020-06-10 06:02:01

你的代码几乎是正确的,

但是,您需要缩进print语句,以便程序在每次迭代中打印数字。

并且,range( num )将从0开始,并且num将不包括在迭代中。

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

代码语言:javascript
复制
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')

输出:

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2020-06-10 06:59:29

您的代码有三个问题:首先,您将range()替换为to_ten,因此实际上没有实现所述的问题;您将to_ten设置为strlist,而不是intlist;您的print(i)语句的顺序和缩进错误。@biplobbiswas的解决方案很好地解决了所有这些小问题。(+1)

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

代码语言:javascript
复制
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]))

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62289973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档