user_input = input("请输入英文字符串:")letters = []for char in user_input: if char.isalpha() and char.lower() not in letters: letters.append(char.lower())letters.sort(reverse=True)print(letters)
时间: 2024-03-11 20:46:50 浏览: 53
好的,以下是对代码的一些优化:
1. 使用集合代替列表进行去重:集合是一种无序、不重复的数据结构,可以更方便地进行去重操作。
2. 使用列表推导式简化代码:列表推导式可以让代码更简洁,同时也可以提高代码的运行效率。
3. 使用 sorted 函数代替 sort 方法进行排序:sorted 函数可以对任何可迭代对象进行排序,并返回一个新的排序后的列表。
优化后的代码如下所示:
```python
user_input = input("请输入英文字符串:")
letters = sorted({char.lower() for char in user_input if char.isalpha()})
print(letters)
```
这段代码首先使用集合推导式对输入字符串中的英文字母进行去重和小写转换,然后使用 sorted 函数对集合进行排序,并将排序后的结果转换成列表。最后输出列表即可。
相关问题
用Python语言编写程序接收用户输入的一段英文字符串,输出这段字符串中包含的字母及其出现次数。
在Python中,你可以使用内置的字典数据结构来实现这个功能。下面是一个简单的示例程序:
```python
def count_letters(user_input):
# 创建一个空字典来存储字母及其出现次数
letter_count = {}
# 遍历输入的每个字符
for char in user_input:
# 检查是否为字母(忽略非字母字符)
if char.isalpha():
# 转换为小写以避免区分大小写
char = char.lower()
# 如果字母已经在字典中,计数加一;否则添加到字典并设置计数为1
letter_count[char] = letter_count.get(char, 0) + 1
return letter_count
# 接收用户输入
user_string = input("请输入一段英文字符串:")
result = count_letters(user_string)
# 输出结果
print("每个字母及出现次数:")
for letter, count in result.items():
print(f"{letter}: {count}")
从键盘输入一个字符串,直到按Enter键结束,统计字符串中的大、小写英文字母各有多少个。用Python
在Python中,你可以使用`input()`函数获取用户的键盘输入,并通过`str.isalpha()`检查每个字符是否为字母,然后区分大小写进行计数。以下是相应的代码:
```python
def count_letters():
# 初始化字母计数
uppercase_count = 0
lowercase_count = 0
# 获取用户输入,直到按下回车
user_input = input("请输入字符串,按Enter键结束:")
# 遍历用户输入中的每一个字符
for char in user_input:
# 检查字符是否为字母
if char.isalpha():
# 分别计数大写和小写字母
if char.isupper():
uppercase_count += 1
else:
lowercase_count += 1
print(f"大写字母有 {uppercase_count} 个,小写字母有 {lowercase_count} 个。")
count_letters()
```
当你运行这段代码并输入字符串后,它会分别显示大写和小写字母的数量。
阅读全文