Python 3.x Python列表和范围

Python 3.x Python列表和范围,python-3.x,list,range,z-index,Python 3.x,List,Range,Z Index,我正在尝试练习python,以便提高自己的能力。我有点卡住了,不知道该怎么做。我收到一个错误,说“只能将列表(而不是'int')连接到列表。”我将在下面留下我的代码和我要做的事情 输入字串(word) 查找单词的字符串长度 使用range()遍历word中的每个字母(可以用于设置循环的范围) 将单词中的奇数和偶数字母另存为列表 奇数字母:从索引0,2开始 偶数字母:从索引1,3开始 打印奇偶列表 word = input("Type: ") word = list(word) print

我正在尝试练习python,以便提高自己的能力。我有点卡住了,不知道该怎么做。我收到一个错误,说“只能将列表(而不是'int')连接到列表。”我将在下面留下我的代码和我要做的事情

  • 输入字串(word)
  • 查找单词的字符串长度
  • 使用range()遍历word中的每个字母(可以用于设置循环的范围)
  • 将单词中的奇数和偶数字母另存为列表
    • 奇数字母:从索引0,2开始
    • 偶数字母:从索引1,3开始
  • 打印奇偶列表

    word = input("Type: ")
    
    word = list(word)
    print(word)
    
    odd_letters = []
    even_letters = []
    
    length = int(len(word))
    
    for i in range(length):
        if i/2 == 0:
            even_letters = even_letters + i
    
        elif i/2 != 0:
            odd_letters = odd_letters + i
    
    print(even_letters)
    print(odd_letters)
    

您无法向列表中添加整数,因为您尝试在此处添加整数:

even_letters = even_letters + i
您可以改为这样做(现在正在将列表添加到列表中,这是有效的):

或者,使用
append
修改列表,将新元素添加到末尾:

even_letters.append(i)
几件事: 不能使用“+”将整数直接“添加”到列表中。最好使用append()。 str和str类型可以使用“+”连接起来,因此您可以将奇数字母和偶数字母更改为str,如下所示

此外,通过将“i”添加到偶数和奇数,可以添加迭代变量值。 由于您希望添加字母,因此需要参考列表索引,即单词[i]

输入内容的第一个字母将位于奇数位置:)


你的代码很好,但我决定为你想要的程序找到一个更快的解决方案。这是我的代码:

word = str(input("Enter word:"))
store_1 = [x for x in word]
store_2 = []
for idx, val in enumerate(store_1):
    store_2.append(idx)
even_numbers = [y for y in store_2 if y%2 == 0]
odd_numbers = [z for z in store_2 if z%2 == 1]
print("List of Even numbers:",even_numbers)
print("List of Odd numbers:",odd_numbers)
变量“word”接收来自用户的单词。列表“store_1”使用列表理解来分隔单词中的字母并存储。接下来,我通过'store_1'进行枚举,并使用变量'store_2'仅存储'store_1'的索引

接下来,我声明另一个变量“偶数”,它使用列表理解来迭代“store_2”并找到偶数。下一个变量'odd_numbers'也使用列表理解来查找'store_2中的奇数


然后,它只向用户打印偶数和奇数列表。希望这有帮助:)

我写了这个。。。让我知道你的想法

word = input("Choose a word to test: ")
word_len = len(word)
print(word," contains ",word_len," letters")
odd_letters = []
even_letters = []
for i in range(1,len(word),2):
    even_letters.append(word[i])
for i in range(0,word_len,2):
    odd_letters.append(word[i])

print("Odd letters are: ",odd_letters)
print("Even letters are: ",even_letters)
word=input()
单词数量=len(单词)
打印(字数)
奇数_num=[]
偶数
对于范围(0,单词数量,2)内的字母:
奇数追加(单词[字母])
对于范围(1,单词数量,2)内的字母:
偶数追加(单词[字母])
打印(奇数)
打印(偶数)

这就是答案,它适用于每个单词,并遵循所有要求。

使用
偶数字母。附加(i)
(奇数也一样)。正如上面所说,添加只能通过两个列表来完成。非常感谢。这让我明白了很多。天气真好!谢谢,我从查看人名代码中学到了很多东西。这真的很有帮助!
word = str(input("Enter word:"))
store_1 = [x for x in word]
store_2 = []
for idx, val in enumerate(store_1):
    store_2.append(idx)
even_numbers = [y for y in store_2 if y%2 == 0]
odd_numbers = [z for z in store_2 if z%2 == 1]
print("List of Even numbers:",even_numbers)
print("List of Odd numbers:",odd_numbers)
word = input("Choose a word to test: ")
word_len = len(word)
print(word," contains ",word_len," letters")
odd_letters = []
even_letters = []
for i in range(1,len(word),2):
    even_letters.append(word[i])
for i in range(0,word_len,2):
    odd_letters.append(word[i])

print("Odd letters are: ",odd_letters)
print("Even letters are: ",even_letters)