Python 如何在数字的偶数索引处打印数字?

Python 如何在数字的偶数索引处打印数字?,python,Python,假设x是一个整数。如何打印此数字的每个偶数数字 例如,如果输入是34567910,那么我希望输出是4690 我知道如何使用以下代码打印每个单个数字,但我不知道如何仅打印偶数数字: for i in str(x): print(i) 这是一种方法,你可以这样做 # iterate over string x = 34567910 string = str(x) for index in range(len(string)): # check if index is di

假设
x
是一个整数。如何打印此数字的每个偶数数字

例如,如果输入是
34567910
,那么我希望输出是
4690

我知道如何使用以下代码打印每个单个数字,但我不知道如何仅打印偶数数字:

for i in str(x):   
    print(i)  

这是一种方法,你可以这样做

# iterate over string
x = 34567910
string = str(x)
for index in range(len(string)):
    # check if index is divisible by 2
    if index % 2 != 0:
        # print character at index
        print(string[index], end = '')

这是你问题的解决办法。注意,由于Python索引从0开始,我必须检查
I
是否为奇数。例如,在Python中,索引1是第二个位置

num = input("Enter a number: ")

return_num = ""
# Iterates through input
for i in range(len(num)):
    # Checks if digit is at even position
    if i % 2 == 1:
        # If so, adds it to return_num
        return_num += num[i] # + " " if you want spaces between numbers

print(return_num) # Prints 4690 with your input
或者,您可以使用一个for循环来实现这一点。(归功于OneCricketeer。)

或者,如果您希望有尽可能短的程序来解决您的问题(归功于Tomerikoo):

尝试使用切片和贴图方法:

list(map(int, list(x)[1::2]))


为什么不使用
范围(1,len(num),2)
?我想你误解了我的问题,如果输入是34567910,我希望输出是4 6 9 0,这就是我所说的偶数顺序的意思number@OneCricketeer谢谢你的建议!我认为if语句更好的原因是它使程序更加可定制。不过我也会把你添加的内容包括进去。@M-Chen-3哦,它确实有用。谢谢重复:欢迎来到SO!这个网站不是用来接收免费代码的。您需要做一些研究并询问您自己的代码。显示一段代码并解释错误:您是否得到错误、错误的输出?后示例输入/输出。您可以阅读更多关于和
str(input())
是冗余的<代码>输入返回一个字符串,我看到您投票结束了问题。那为什么要回答呢?是的,默认情况下是这样。我只是把它放在那里,这样OP得到这个:在把它传递给列表(x)之前,x应该被当作str@Tomerikoo我通过查找偶数/奇数数字(使用过滤器)回答了这个问题,然后才看到他对其他答案的评论,他说的是索引,而不是数字。所以问题本身不是很清楚,这就是为什么关闭它。好吧,我同意。我只是说结束一个问题并回答它有点矛盾。。。结束意味着这个问题不应该接受任何答案,但你已经回答了。。。要么回答,要么投票结束。这样做似乎很奇怪
num = input("Enter a number: ")
print(num[1::2]) # Prints 4690 with your input
x = str(input())
list(map(int, list(x)[1::2]))
[4, 6, 9, 0]