如何更简洁地实现Python中用户输入内容的重新打印?
简洁实现方案
你的代码核心需求其实就是把输入的单词转为小写后原样输出,但目前的实现绕了大弯——那个字母列表完全是多余的,因为转小写后的单个字符必然在列表里,相当于做了无意义的匹配。下面是几种更简洁的写法:
1. 一行搞定(最推荐)
直接利用字符串的lower()方法,输入转小写后直接打印:
print(input('输入你的单词:').lower())
2. 保留循环逻辑的简化版
如果一定要用循环(虽然没必要),可以去掉冗余的字母列表,直接遍历每个字符转小写后打印:
word_input = input('输入你的单词:') for char in word_input: print(char.lower(), end='')
为什么原来的代码可以简化?
你原来的代码存在几个冗余点:
- 变量名
list是Python内置关键字,不应该用来命名自定义变量; finalWord = [match for match in list if indivLetter in match]这行完全多余,因为indivLetter已经是小写字母,必然等于match,所以这个列表推导式结果就是[indivLetter],解包打印和直接打印indivLetter效果完全一致;- 遍历输入字符串没必要用
range(len(wordInput)),直接遍历字符串本身更简洁直观。
内容的提问来源于stack exchange,提问作者ChesseLover
相关产品推荐
相关产品推荐

