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列表中的每个数字获取关于它是偶数还是奇数的语句。
发布于 2020-06-10 03:08:17
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')输出:
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发布于 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)。
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')输出:
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发布于 2020-06-10 06:59:29
您的代码有三个问题:首先,您将range()替换为to_ten,因此实际上没有实现所述的问题;您将to_ten设置为str的list,而不是int的list;您的print(i)语句的顺序和缩进错误。@biplobbiswas的解决方案很好地解决了所有这些小问题。(+1)
我们可以通过使to_ten成为int的list来简化问题,并让Python为我们生成它,以避免错误。我们还可以使用i % 2的结果作为索引,而不是使用一系列if语句显式地测试它:
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]))有很多方法可以解决这样的问题。
https://stackoverflow.com/questions/62289973
复制相似问题