在字符串中打印奇数字符而不进行字符串切片?

时间:2015-03-01 05:36:31

标签: python string loops character

我正在为我的大学做一个项目,其中一个任务就是让python只打印一个字符串中的奇数字符,当我看到这一切时我能找到的是字符串切片解决方案,我被告知不要用来完成这个任务。我也被告知也要使用循环。请帮忙,提前谢谢。 这是我到目前为止的代码,它使用for循环在每个单独的字符中打印字符串,我需要修改它以便打印奇数字符。

i = input("Please insert characters: ")
for character in i:
    print(character)

7 个答案:

答案 0 :(得分:1)

请按照此代码打印奇数字符

#Read Input String 
i = input("Please insert characters: ")
#Index through the entire string
for index in range(len(i)):
    #Check if odd 
    if(index % 2 != 0):
        #print odd characters
        print(i[index])

答案 1 :(得分:0)

我认为更多信息有助于回答这个问题。我不清楚字符串是否只包含数字。无论如何,也许这可以回答你的问题。

string = '38566593'

for num in string:
    if int(num) % 2 == 1:
        print(num)

要扩展Kyrubas的答案,你可以使用 -

string = '38566593'

for i, char in enumerate(string):
    if i % 2 == 1:
        print(char)

答案 2 :(得分:0)

另一种选择:

a= 'this is my code'
count = 1
for each in list(a):
    if count % 2 != 0:
        print(each)
        count+=1
    else:
        count+=1

答案 3 :(得分:0)

person = raw_input(“输入你的名字:”) a = 1 打印“你好”,人 打印“总数:”,len(人) 对于列表中的每个人(人):     如果%2 == 0:         打印“偶数字符:”,(每个)         一个+ = 1     其他:         一个+ = 1

答案 4 :(得分:0)

s = raw_input()
even_string=''
odd_string=''
for index in range(len(s)):
    if index % 2 != 0:
        odd_string = odd_string+s[index]
    else:
        even_string = even_string+ (s[index])
print even_string,odd_string

答案 5 :(得分:0)

尝试此代码。对于均匀索引开始,您可以使用@Column

range(0, len(s), 2)

答案 6 :(得分:0)

当我们想分割字符串时,可以使用以下语法:

str[beg:end:jump]

当我们只输入一个数字时,该数字表示索引。 当我们只输入两个数字时,第一个指示子字符串的第一个字符(包括),第二个指示最后一个字符(排除)

您可以读取字符串并像这样打印它:

i = input("Please insert characters: ")
print(i[::2])

当您放置str[::]时,返回的是所有字符串(从0len(str)),最后一个数字表示您要执行的跳转,这意味着您将打印字符0、2、4等