如何用Python for循环按输入顺序展示列表中各字符串的长度?
修正代码实现按输入顺序展示字符串长度
先给出可直接运行的修正代码:
# 将输入的字符串按逗号分割为列表,同时处理元素前后的空格 string_list = input("Please enter a list of strings separated by a comma.\ne.g. one,two,three,four,five\n").split(',') # 遍历列表中的每个字符串 for s in string_list: cleaned_str = s.strip() # 去除字符串前后可能存在的空格 print(f"The length of the string {cleaned_str} is {len(cleaned_str)}.")
原代码的错误点说明:
- 输入未转换为列表:
input()返回的是单个字符串,必须用split(',')按逗号分割成字符串列表,否则无法逐个遍历元素 - for循环语法错误:Python的for循环不支持
for i = 0:这种写法,正确的遍历方式要么直接迭代列表元素(for s in string_list),要么通过索引遍历(for i in range(len(string_list))) - 长度计算语法错误:原代码中的
len_stringList[]完全不符合Python语法,正确的长度计算方式是len(目标字符串),比如len(cleaned_str) - 提示文本与拼写错误:原提示里的"numbers"表述错误(实际需要输入字符串),且"seperated"拼写错误,正确应为"separated"
- 未处理空格:若用户输入时在逗号后加了空格(比如
one, two),直接分割会得到带空格的元素,用strip()可去除前后空格,保证结果准确
如果偏好使用索引遍历的写法,也可以这样实现:
string_list = input("Please enter a list of strings separated by a comma.\ne.g. one,two,three,four,five\n").split(',') for i in range(len(string_list)): cleaned_str = string_list[i].strip() print(f"The length of the string {cleaned_str} is {len(cleaned_str)}.")
内容的提问来源于stack exchange,提问作者Diego
相关产品推荐
相关产品推荐

