Python 列表和范围
Python lists and ranges
我正在努力练习我的 python 以便我可以提高。我有点卡住了,不确定如何进行。我收到一条错误消息 "can only concatenate list(not 'int') to list." 我将在下面留下我的代码和我正在尝试做的事情。
- 输入一个词串(word)
- 求单词的字符串长度
- 使用 range() 遍历单词中的每个字母(可用于范围循环)
- 将单词中的奇数和偶数字母保存为列表
- odd_letters:从索引 0,2 开始,...
- even_letters:从索引 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
您可以改为执行此操作(现在将列表添加到列表中,这是有效的):
even_letters = even_letters + [i]
或者,使用 append
就地更改列表,将新元素添加到末尾:
even_letters.append(i)
几件事:
您不能 "add" 使用“+”将整数直接添加到列表中。最好使用 append() 。
str 和 str 类型可以使用“+”连接,因此您可以将 odd_letters 和 even_letters 更改为 str,如下所示。
此外,通过将 'i' 添加到偶数和奇数,您将添加迭代变量值。
由于您希望附加字母,因此需要参考列表索引,即 word[i]
而且输入的第一个字母会出现在奇数位置:)
word = input("Type: ")
word = list(word)
print(word)
odd_letters = ''
even_letters = ''
length = int(len(word))
for i in range(1,length+1):
if i%2 == 0:
even_letters = even_letters + word[i-1]
else:
odd_letters = odd_letters + word[i-1]
print("even_letters",even_letters)
print("odd_letters",odd_letters)
你的代码很好,但我决定为你想要的程序找到一个更快的解决方案。这是我的代码:
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'接收来自用户的单词。 list 'store_1' 使用list comprehension将单词中的字母the分开存储。接下来,我通过 'store_1' 进行枚举,并使用变量 'store_2' 只存储 'store_1' 的索引。
接下来,我声明另一个变量 'even_numbers',它使用列表推导式遍历 '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()
word_num=len(word)
print(word_num)
odd_num=[]
even_num=[]
for letters in range(0,word_num,2):
odd_num.append(word[letters])
for letters in range(1,word_num,2):
even_num.append(word[letters])
print(odd_num)
print(even_num)
这是适用于每个单词的答案,符合所有要求。
我正在努力练习我的 python 以便我可以提高。我有点卡住了,不确定如何进行。我收到一条错误消息 "can only concatenate list(not 'int') to list." 我将在下面留下我的代码和我正在尝试做的事情。
- 输入一个词串(word)
- 求单词的字符串长度
- 使用 range() 遍历单词中的每个字母(可用于范围循环)
- 将单词中的奇数和偶数字母保存为列表
- odd_letters:从索引 0,2 开始,...
- even_letters:从索引 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
您可以改为执行此操作(现在将列表添加到列表中,这是有效的):
even_letters = even_letters + [i]
或者,使用 append
就地更改列表,将新元素添加到末尾:
even_letters.append(i)
几件事: 您不能 "add" 使用“+”将整数直接添加到列表中。最好使用 append() 。 str 和 str 类型可以使用“+”连接,因此您可以将 odd_letters 和 even_letters 更改为 str,如下所示。
此外,通过将 'i' 添加到偶数和奇数,您将添加迭代变量值。 由于您希望附加字母,因此需要参考列表索引,即 word[i]
而且输入的第一个字母会出现在奇数位置:)
word = input("Type: ")
word = list(word)
print(word)
odd_letters = ''
even_letters = ''
length = int(len(word))
for i in range(1,length+1):
if i%2 == 0:
even_letters = even_letters + word[i-1]
else:
odd_letters = odd_letters + word[i-1]
print("even_letters",even_letters)
print("odd_letters",odd_letters)
你的代码很好,但我决定为你想要的程序找到一个更快的解决方案。这是我的代码:
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'接收来自用户的单词。 list 'store_1' 使用list comprehension将单词中的字母the分开存储。接下来,我通过 'store_1' 进行枚举,并使用变量 'store_2' 只存储 'store_1' 的索引。
接下来,我声明另一个变量 'even_numbers',它使用列表推导式遍历 '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()
word_num=len(word)
print(word_num)
odd_num=[]
even_num=[]
for letters in range(0,word_num,2):
odd_num.append(word[letters])
for letters in range(1,word_num,2):
even_num.append(word[letters])
print(odd_num)
print(even_num)
这是适用于每个单词的答案,符合所有要求。