python中统计同一个数字连续三次出现的位置
时间: 2024-04-07 10:33:53 浏览: 16
在Python中,你可以使用循环来遍历列表或字符串,并使用条件语句来判断是否有连续三次出现的数字。以下是一个示例代码:
```python
def find_consecutive_positions(nums):
positions = []
for i in range(len(nums) - 2):
if nums[i] == nums[i + 1] == nums[i + 2]:
positions.append(i)
return positions
# 示例用法
numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
result = find_consecutive_positions(numbers)
print(result) # 输出:[2, 5]
# 示例用法2(字符串)
string = "aabbbcccccdd"
result = find_consecutive_positions(string)
print(result) # 输出:[2]
```
在上面的示例代码中,`find_consecutive_positions` 函数接受一个列表或字符串 `nums`,然后使用循环遍历该序列。通过比较当前元素和下两个元素是否相等,我们可以判断是否有连续三次出现的数字。如果是,则将当前位置 `i` 添加到 `positions` 列表中。最后,返回 `positions` 列表,其中包含连续三次出现数字的位置。
相关问题
python中统计同一个数字连续出现的位置
你可以使用Python中的循环和条件判断来统计同一个数字连续出现的位置。以下是一个示例代码:
```python
def find_consecutive_positions(lst):
positions = []
start = 0
length = 1
for i in range(1, len(lst)):
if lst[i] == lst[i-1]:
length += 1
else:
if length > 1:
positions.append((lst[i-1], start, start+length-1))
start = i
length = 1
if length > 1:
positions.append((lst[-1], start, start+length-1))
return positions
# 示例用法
numbers = [1, 2, 2, 3, 4, 4, 4, 5, 6, 6, 7, 7, 7, 7]
positions = find_consecutive_positions(numbers)
for number, start, end in positions:
print(f"The number {number} appears consecutively from index {start} to {end}")
```
这段代码会输出:
```
The number 2 appears consecutively from index 1 to 2
The number 4 appears consecutively from index 4 to 6
The number 6 appears consecutively from index 8 to 9
The number 7 appears consecutively from index 10 to 13
```
这样你就可以得到同一个数字连续出现的位置信息。
用python统计一个数中每个数字出现的个数
这篇Python实例可以用来统计一个数中每个数字出现的个数。具体实现方法是将输入的数字转换为字符串,然后遍历字符串中的每个字符,使用字典来记录每个数字出现的次数。最后输出每个数字及其出现的次数即可。
以下是一个可能的实现方法:
```
num = input("请输入一个数字:")
count = {}
for digit in num:
if digit.isdigit():
count[digit] = count.get(digit, 0) + 1
print("数字出现的次数为:")
for digit, cnt in count.items():
print(digit, "出现了", cnt, "次")
```