Задание 24. Пример 1
- Просмотры: 58
- Изменено: 22 ноября 2024
Текстовый файл состоит из нескольких строк, содержащих буквы латинского алфавита. Определите максимальное количество идущих подряд совпадающих символов. Для выполнения этого задания следует написать программу.
Решение:
Python
max_count = 0
with open('24_pr1.txt') as f:
for line in f:
ch_current = ''
temp_max = 1
for ch in line:
if ch == ch_current:
temp_max += 1
else:
if temp_max > max_count:
max_count = temp_max
ch_current = ch
temp_max = 1
print(max_count)
Go
package main
import (
"bufio"
"fmt"
"log"
"os"
)
func readLines(path string) ([]string, error) {
file, err := os.Open(path)
if err != nil {
return nil, err
}
defer file.Close()
var lines []string
scanner := bufio.NewScanner(file)
for scanner.Scan() {
lines = append(lines, scanner.Text())
}
return lines, scanner.Err()
}
func main() {
var chCurrent rune
lines, err := readLines("24_pr1.txt")
if err != nil {
log.Fatalf("readLines: %s", err)
}
maxCount := 0
for _, line := range lines {
chCurrent = 0
tempMax := 1
for _, ch := range line {
if ch == chCurrent {
tempMax++
} else {
if tempMax > maxCount {
maxCount = tempMax
}
chCurrent = ch
tempMax = 1
}
}
}
fmt.Print(maxCount)
}