【发布时间】:2019-01-25 05:33:32
【问题描述】:
我的任务之一是获取用户输入,将其转换为列表,然后根据每个单词中的字符数,相应地更改为大写/小写。我被告知我必须使用范围,这是我正在努力解决的部分。这是我最近的尝试,但它不起作用。任何建议将不胜感激。
poem = input("Enter a poem, verse or saying: ")
words_list = poem.split()
list_len = len(words_list)
for word in range(0,list_len):
if len(words_list[word]) < 4:
word = word.lower()
elif len(words_list[word]) > 6:
word = words.upper()
【问题讨论】:
-
不是。
word是range的整数值。输出应该是什么?您是否尝试修改word_list并返回该列表? -
您的代码中有一部分是正确的,
words_list[word]是实际的单词,一个字符串。继续在任何地方使用它。您还需要分配给该索引,即words_list[word] = ...。分配给局部变量不会改变列表。 -
命名变量以反映它们的含义:例如,使用
word表示单词,使用wdx表示单词列表中单词的索引......这将对您有所帮助理解困惑 -
很抱歉提出这个问题,但是您看过python中范围函数的文档吗?检查this tutorial 并尝试使用 range 函数,而不是为你的作业寻求解决方案,因为它会帮助你更多地理解。
-
嗨,Thomas - 是的,我花了很长时间试图自己查找这个,但我就是想不通。修改代码以使其正常工作非常简单,但我一直盯着它看太久了,我只是看不到它!
标签: python list range uppercase lowercase