python用户输入一个字符串,统计字符串中每个字符出现的次数,不使用字典和set()
时间: 2023-05-13 21:04:51 浏览: 162
可以使用列表来实现,首先定义一个空列表,然后遍历字符串中的每个字符,如果该字符还没有在列表中出现过,则在列表中添加该字符和出现次数1,否则在列表中找到该字符对应的元素,将其出现次数加1。最后遍历列表,输出每个字符和出现次数即可。以下是示例代码:
```python
s = input("请输入一个字符串:")
count_list = []
for c in s:
found = False
for item in count_list:
if item[0] == c:
item[1] += 1
found = True
break
if not found:
count_list.append([c, 1])
for item in count_list:
print(item[0], "出现了", item[1], "次")
```
注意,这种方法的时间复杂度为O(n^2),不适用于处理大量数据。如果需要处理大量数据,应该使用字典或set()来实现。
相关问题
Python给定一个字符串统计字符串中每个字符在该字符中出现位置的所有索引
在Python中,你可以使用列表推导式或者字典结合enumerate函数来统计字符串中每个字符及其出现的位置。这里是一个简单的例子:
```python
def char_positions(string):
# 使用字典存储每个字符及其对应的索引列表
char_dict = {char: [i for i, ch in enumerate(string) if ch == char] for char in set(string)}
return char_dict
# 示例
input_string = "hello world"
result = char_positions(input_string)
print(result)
```
在这个`char_positions`函数中,我们首先创建一个空字典`char_dict`,然后遍历输入字符串的每一个字符(忽略重复),通过`enumerate`获取字符的索引。如果字符已经存在于字典中,我们就将其添加到相应的索引列表中;如果不存在,则添加一个新的键值对,键是字符,值是一个只包含该字符索引的列表。
运行上述代码,将得到一个字典,其中键是字符串中的每个独特字符,值是该字符在字符串中所有出现的索引位置组成的列表。
三、python编程题 1. 获得用户输入的一个整数N,输出N中出现的不同数字。 2.编写程序输入一个字符串“abcdabcdef",统计字符串中每个字母出现的次数。
在Python中,这两个编程题目的解决方案可以分别如下:
1. 计算并输出整数N中出现的不同数字:
```python
def unique_digits(n):
digits = set()
while n > 0:
digit = n % 10
digits.add(digit)
n //= 10
return digits
n = int(input("请输入一个整数N:"))
unique_numbers = unique_digits(n)
print("N中出现的不同数字有:", unique_numbers)
```
2. 统计字符串中每个字母的出现次数:
```python
string = input("请输入一个字符串:")
letter_counts = {char: string.count(char) for char in set(string)}
print("每个字母出现的次数:", letter_counts)
```
第一个代码段通过不断地取模和整除操作找出数字N中的每一位,并将其添加到集合中去除重复,最后返回包含所有独特数字的集合。
第二个代码段利用字典的键值对特性,遍历字符串中的字符,每遇到一个新字符就用它作为字典的键,并记录其在字符串中出现的次数作为值。
阅读全文