Как найти максимально число в текстовом файле

The file looks like this:

1, a b
2, c d
3, e f

my current code

b = open('file.txt', 'r')

c = b.readlines()
regels = len(c)

print(regels)

I got the numbers of lines but still need biggest number + on which line it is.

asked Sep 20, 2016 at 18:27

54m's user avatar

2

So you are just looking to find the biggest number in the first column of the file? This should help

b = open('file.txt', 'r')

c = b.readlines()
regels = len(c)

print(regels)

max = 0
for line in b.readlines():
  num = int(line.split(",")[0])
  if (max < num):
    max = num 


print(max)
# Close file
b.close()

answered Sep 20, 2016 at 18:37

Ali's user avatar

AliAli

6331 gold badge9 silver badges20 bronze badges

5

This is how I’d go about doing it.

max_num = 0
with open('file.txt', 'r') as data: # use the with context so that the file closes gracefully
  for line in data.readlines(): # read the lines as a generator to be nice to my memory
    try:
      val = int(line.split(",")[0])
    except ValueError: # just incase the text file is not formatted like your example
      val = 0
    if val > max_num: # logic
      max_num = val

print max_num #result

answered Sep 20, 2016 at 18:43

reticentroot's user avatar

reticentrootreticentroot

3,6022 gold badges22 silver badges39 bronze badges

You need loop over each line in file, parse each line and find the largest number.

I do not quite understand how the numbers are stored in your file. Just assuming that in each line, the first field are numeric and separate with others (non-numeric) by ','. And I assume all numbers are integer.

ln = 0
maxln = 0
maxn = 0
with open(filename, 'r') as f:
    line = f.next()
    if line:
       ln = 1
       maxln = 1
       maxn = int(line.split(",")[0].strip())
    else:
       raise Exception('Empty content')
    for line in f:
        ln += 1
        cur = int(line.split(",")[0].strip())
        if cur > maxn:
            maxn = cur
            maxln = ln

ln is used to record current line number, maxn is used to record current maximum number, and maxln is used to record current maximum number location.

One thing you need to do is fetch the first line to initialize these variables.

answered Sep 20, 2016 at 18:47

rojeeer's user avatar

rojeeerrojeeer

1,9811 gold badge11 silver badges13 bronze badges

None of the answers give you the line of the max number so I’ll post some quick code and refine later

max_num = 0
line_count = 0
with open('file.txt', 'r') as infile:
    for line in infile:
        number = int(line.split(',')[0])
        if number > max_num:
             max_num = number
             line_num = line_count
        line_count += 1
print (max_num)
print (line_num)

answered Sep 20, 2016 at 18:51

roganjosh's user avatar

roganjoshroganjosh

12.5k4 gold badges29 silver badges46 bronze badges

3

  • Read line
  • Split it on basis of comma
  • Append first element to temp list.

Once complete reading of file is done,

  • To get maximum number, just use max function on temp list.
  • Since file is read line by line sequentially and appending number from line to temp list, to get line number on which maximum number is present, just find the index of max number in temp list and increment it by one since list index starts with zero.

P.S : Check last three print statements

Code:

num_list = []
with open('master.csv','r')as fh:
    for line in fh.readlines():
        num_list.append(int((line.split(','))[0]))

print num_list
print "Max number is -" ,max(num_list)
print "Line number is - ", (num_list.index(max(num_list)))+1

Output:

C:Usersdinesh_pundkarDesktop>python c.py
[1, 2, 3]
Max number is - 3
Line number is -  3

C:Usersdinesh_pundkarDesktop>

answered Sep 20, 2016 at 18:42

Dinesh Pundkar's user avatar

Dinesh PundkarDinesh Pundkar

4,1301 gold badge22 silver badges36 bronze badges

4

Iterate through the file and keep track of the highest number you’ve seen and the line you found it on. Just replace this with the new number and new line number when you see a bigger one.

b = open('file.txt', 'r')
max = -1
lineNum = -1
line = b.readline()
index = 0
while(line):
    index+=1
    newNum = line[0]
    if(newNum>max):
        max = newNum
        lineNum = index
    line = b.readline()
print lineNum,max,index

max is your highest number, lineNum is where it was, and index is the number of lines in the file

answered Sep 20, 2016 at 18:42

SilentLupin's user avatar

SilentLupinSilentLupin

65810 silver badges16 bronze badges

2

Раз всё же начали давать ответы, то с использованием Java 8 можно поступить так:

public static void main(String[] args)
{
    int[] array = null;
    try (BufferedReader in = new BufferedReader(new FileReader("chisla.txt")))
    {
        array = in.lines().mapToInt(Integer::parseInt).toArray();
    }
    catch (IOException | NumberFormatException e)
    {
        e.printStackTrace();
    }
    if (array != null)
    {
        int max = Integer.MIN_VALUE;
        for (int i = 0; i < array.length; i++) 
        {
            if (max < array[i])
            {
                max = array[i];
            }
        }
        System.out.println("Max: " + max);
    }
}

Все строки из файла, а точнее поток строк Stream<String>, возвращаемый in.lines(), привести к потоку int-чисел (IntStream, возвращаемый mapToInt) с помощью Integer.parseInt, после чего этот поток преобразовать в массив int[] с помощью toArray().

Также нужно не забывать закрывать BufferedReader после чтения данных. В представленном коде это делается с помощью конструкции try-with-resources.

А вообще, максимум можно находить и с помощью самого IntStream:

public static void main(String[] args)
{
    try (BufferedReader in = new BufferedReader(new FileReader("chisla.txt")))
    {
        OptionalInt optionalMax = in.lines().mapToInt(Integer::parseInt).max();
        if (optionalMax.isPresent())
        {
            System.out.println("Max: " + optionalMax.getAsInt());
        }
    }
    catch (IOException | NumberFormatException e)
    {
        e.printStackTrace();
    }
}

0 / 0 / 0

Регистрация: 13.07.2015

Сообщений: 34

1

Найти наибольшее значение из чисел записанных в файл

17.08.2015, 11:12. Показов 8592. Ответов 17


Студворк — интернет-сервис помощи студентам

В текстовом файле записана непустая последовательность вещественных чисел, разделенных пробелами. Найти наибольшее из этих чисел. Помогите, люди. Писать надо через ifstream и ofstream (необязательно, чтобы были оба).
Т.к. я не понимаю в программировании, прошу написать мне эту программку. Буду очень благодарен



0



isobo531

50 / 49 / 29

Регистрация: 11.11.2014

Сообщений: 332

17.08.2015, 11:27

2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <conio.h>
#include <fstream>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    setlocale (LC_ALL, "russian");
 
    std::ifstream f("D:\job.txt");
 
    const int n = 9;
    int *arr = new int [n];
 
    for(int i = 0; i < n; i++)
        f >> arr[i];
 
    int num(0);
    for(int i = 0; i < n; i++)
        if(arr[i] > num)
            num = arr[i];
 
    std::ofstream x ("D:\job1.txt");
 
    x << "Max: " << num << endl;
 
    delete [] arr;
 
    _getch();
    return 0;
}

Добавлено через 1 минуту
В файле я написал 9 чисел.
В файл записывает максимальное число.



0



zss

Модератор

Эксперт С++

13100 / 10373 / 6206

Регистрация: 18.12.2011

Сообщений: 27,741

17.08.2015, 11:32

3

isobo531, в Вашем коде есть недостатки.
1. Количество чисел ограничено 9. их запоминать не надо, поэтому прекращать ввод надо по концу файла.
2. Номер максимального элемента найден с ошибкой

C++
1
2
3
4
 int num(0);
    for(int i = 1; i < n; i++)
        if(arr[i] > arr[num])
            num = i;



0



KrYpToDeN

3 / 3 / 1

Регистрация: 10.01.2015

Сообщений: 69

17.08.2015, 11:33

4

Лучший ответ Сообщение было отмечено EgorVans как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// ConsoleApplication14.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <fstream>
#include <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "RUSSIAN");
 
    ifstream f("Float.txt");
    if (!f.is_open())
    {
        cout << "Файл не открылся:(";
        system("pause");
        return 0;
    }
    float ch = 0.0;
    f >> ch;
 
    while (!f.eof())
    {
        float temp_ch;
        f >> temp_ch;
 
        if (temp_ch > ch)
        {
            ch = temp_ch;
        }
    }
 
    cout << "Максимальное число = " << ch << endl;
 
    system("pause");
    return 0;
}

В папке с файлом должен быть файлик Float.txt c дробными числами через пробел.



1



0 / 0 / 0

Регистрация: 13.07.2015

Сообщений: 34

17.08.2015, 11:35

 [ТС]

5

zss, а вы можете исправить код выше, чтобы был без недостатков? Просто я даже этого не знаю



0



3 / 3 / 1

Регистрация: 10.01.2015

Сообщений: 69

17.08.2015, 11:35

6

как-то сложно..зачем массив?



0



50 / 49 / 29

Регистрация: 11.11.2014

Сообщений: 332

17.08.2015, 11:35

7

Ошибся.. Не так понял..



0



Модератор

Эксперт С++

13100 / 10373 / 6206

Регистрация: 18.12.2011

Сообщений: 27,741

17.08.2015, 11:39

8

KrYpToDeN, Та же ошибка. Не сработает, если все числа отрицательные.



0



0 / 0 / 0

Регистрация: 13.07.2015

Сообщений: 34

17.08.2015, 11:42

 [ТС]

9

KrYpToDeN, ошибка в строке 10

D:QtProjectstxtfilesV1Z2main.cpp:6: предупреждение: unused parameter ‘argc’ [-Wunused-parameter] int _tmain(int argc, _TCHAR* argv[])



0



3 / 3 / 1

Регистрация: 10.01.2015

Сообщений: 69

17.08.2015, 11:48

10

zss, всё сработает)

Не могу картинку вставить(

Из чисел -1.3 -0.23 -1.1 -1.2
Выдает -0.23

Верно же, вроде)

Добавлено через 3 минуты
EgorVans, у тебя, видимо, компилятор другой.
Замени int _tmain(int argc, _TCHAR* argv[]) на int main()



1



0 / 0 / 0

Регистрация: 13.07.2015

Сообщений: 34

17.08.2015, 11:50

 [ТС]

11

KrYpToDeN, наверное ошибка изза Qt…ты же в MVS писал?



0



3 / 3 / 1

Регистрация: 10.01.2015

Сообщений: 69

17.08.2015, 11:51

12

EgorVans, да) в QT я хз, как там..

Перекинь просто всё содержимое из моей функции _tmain в функцию main в QT.

И библиотеки не забудь)



0



0 / 0 / 0

Регистрация: 13.07.2015

Сообщений: 34

17.08.2015, 11:57

 [ТС]

13

KrYpToDeN, всегда пишет что файл не может открыться..я не понимаю почему: и путь к файлу указывал и без пути в папку с заданием клал….все равно он его не видит



0



Модератор

Эксперт С++

13100 / 10373 / 6206

Регистрация: 18.12.2011

Сообщений: 27,741

17.08.2015, 15:02

14

Путь надо указывать в виде
D:\aaaa\bbbbb\file.txt
двойные слаши



0



Mr.X

Эксперт С++

3222 / 1749 / 435

Регистрация: 03.05.2010

Сообщений: 3,867

18.08.2015, 02:49

15

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <algorithm>
#include <fstream>
#include <iostream>
#include <iterator>
/////////////////////////////////////////////////////////////////////////////////////////
int     main()
{
    std::ifstream   ifile("f.txt");
 
    if( !ifile )
    {
        std::cout   <<  "!!!!!!!!!!!!!!!"
                    <<  std::endl;
    }
    else
    {
        std::cout   <<  *std::max_element
                            (
                                std::istream_iterator<double>   ( ifile ),
                                std::istream_iterator<double>   ()
                            )
 
                    <<  std::endl;
    }//else
 
 
    system("pause");
}



1



0 / 0 / 0

Регистрация: 13.07.2015

Сообщений: 34

18.08.2015, 10:37

 [ТС]

16

Mr.X, не робит..всегда знаки восклицательные выдает



0



Эксперт С++

3222 / 1749 / 435

Регистрация: 03.05.2010

Сообщений: 3,867

18.08.2015, 10:49

17

Цитата
Сообщение от EgorVans
Посмотреть сообщение

всегда знаки восклицательные выдает

Сообщает, что не найден входной файл. Создайте и заполните текстовый файл с именем f.



1



0 / 0 / 0

Регистрация: 13.07.2015

Сообщений: 34

18.08.2015, 10:52

 [ТС]

18

KrYpToDeN, спасибо! я все исправил и работает)



0



Формулировка задачи:

в текстовом файле data.txt записано произвольное количество вещественных чисел через пробел. Написать программу, которая находит максимальное число и выводит его в консоль.

Код к задаче: «Найти в файле data.txt максимальное число и вывести в консоль»

textual

string[] strs;
            using(StreamReader sr=new StreamReader("data.txt"))
            {
                strs = sr.ReadToEnd().Split(' ');
            }
double max = Convert.ToDouble(strs[0]);
foreach (string s in strs)
    if (Convert.ToDouble(s) > max) max = Convert.ToDouble(s);

Полезно ли:

7   голосов , оценка 4.857 из 5

ВАРИАНТ 1

Текстовый файл состоит из символов арабских цифр (0, 1, 2, 3, ….9). Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет символов 0, стоящих рядом.

Для выполнения этого задания следует написать программу.

Решение и ответ

f = open(’24_var_1-4.txt’)
s = f.readline()
f.close()
m=k=1 #минимальное количество символов
for i in range(1, len(s)):
    if  s[i-1] + s[i] !=’00’: 
        k += 1
    else:
        m = max(k,m) #запоминаем максимальную длину подпоследовательности
        k = 1
print(m)
Ответ977

ВАРИАНТ 2

Текстовый файл состоит из символов арабских цифр (0, 1, 2, 3, ….9). Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет трех символов 0, стоящих рядом.

Для выполнения этого задания следует написать программу.

Решение и ответ

f = open(’24_var_1-4.txt’)
s = f.readline()
f.close()
m=k=2 #минимальное количество символов

for i in range(2, len(s)):
    if  s[i-2] + s[i-1] + s[i]!=’000′:
        k += 1
    else:
        m = max(k,m) #запоминаем максимальную длину подпоследовательности
        k = 2 #как только встречаем третий 0, подпоследовательность считаем снова с предыдущего элемента, то есть к  = 2

print(m)

Ответ: 7684

ВАРИАНТ 3

Текстовый файл состоит из символов арабских цифр (0, 1, 2, 3, ….9). Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет символов 1 и 2, стоящих рядом.

Для выполнения этого задания следует написать программу.

Решение и ответ

f = open(’24_var_1-4.txt’)
p = f.readline()
f.close()
m=k=1 #минимальное количество символов в подпоследовательности

for i in range(1,len(p)):
    if not (p[i-1] + p[i] == ’12’ or p[i-1] + p[i] == ’21’): 
        k+=1   
    else:
        m = max (k,m) #запоминаем максимальную длину подпоследовательности
        k = 1

print(m)

Ответ: 532

ВАРИАНТ 4

Текстовый файл состоит из символов арабских цифр (0, 1, 2, 3, ….9). Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет символов 1 и 2, а также 1 и 3, стоящих рядом.

Для выполнения этого задания следует написать программу.

Решение и ответ

f = open(’24_var_1-4.txt’)
p= f.readline()
f.close()
m=k=1 #минимальное количество элементов в подпоследовательности

for i in range(1,len(p)):
     if not (p[i-1] + p[i] == ’12’ or p[i-1] + p[i] == ’21’ or p[i-1] + p[i] == ’13’ or p[i-1] + p[i] == ’31’): 
          k+=1
     else:
        m = max(k,m)
        k = 1

print(m)

Ответ: 339

ВАРИАНТ 5

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, расположенных  в алфавитном порядке (возможно с повторением символов).

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_5-9.txt’)
p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i]>= p[i-1]: 
        k+=1
    else:
        m=max(k,m) 
        k=1

print(m)

Ответ: 15

ВАРИАНТ 6

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, расположенных  в обратном алфавитном порядке (возможно с повторением символов).

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_5-9.txt’)
p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i]<= p[i-1]: 
        k+=1
    else:
        m=max(k,m) 
        k=1

print(m)

Ответ: 19

ВАРИАНТ 7

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых нет символа Z.

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_5-9.txt’)
p=f.readline()
f.close()
m=k=0 #если Z первая, то длина подпоследовательности равна 0

for i in p:
    if i!=’Z’: 
        k+=1
    else:
        m=max(k,m)
        k=0

print(m)

Ответ: 34

ВАРИАНТ 8

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых нет символа Z.

Для выполнения этого задания следует написать программу.

 

Решение и ответ

f=open(’24_var_5-9.txt’)

p=f.readline()
f.close()
m=n=0
a=» #подстрока а
for i in p:
    a+=i
    if i == ‘Z’:
        n+=1
    if n==2:
        m=max(m,len(a)-1) # максимальное количество символов из текущего значения и длины а
        a = a[a.find(‘Z’)+1:] # удаляем слева все символы, включая первую Z
        n=1 # осталось символов Z в строке

print(m)

Ответ: 43

ВАРИАНТ 9

Текстовый файл состоит не более чем из 10символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых символ Z встречается не более двух раз.

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_5-9.txt’)
p=f.readline()
f.close()
m=n=0
a=» #подстрока а
for i in p:
    a+=i
    if i == ‘Z’:
        n+=1
    if n==3:
        m=max(m,len(a)-1) # максимальное количество символов из текущего значения и длины а
        a = a[a.find(‘Z’)+1:] #  удаляем слева все символы, включая первую Z
        n=2 # осталось символов Z в строке

print(m)

Ответ: 50

ВАРИАНТ 10

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд одинаковых цифр.

Для выполнения этого задания следует написать программу.

 

Решение и ответ

f=open(’24_var_10-18.txt’)

p=f.readline()
f.close()
m=k=1
for i in range(1,len(p)):
    if p[i-1]== p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 47

ВАРИАНТ 11

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд цифр, среди  которых каждые две соседние различны .

Для выполнения этого задания следует написать программу.

 

Решение и ответ

f=open(’24_var_10-18.txt’)

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1]!= p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 120

ВАРИАНТ 12

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд цифр, расположенных в строго возрастающем порядке.

Для выполнения этого задания следует написать программу.

 

Решение и ответ

f=open(’24_var_10-18.txt’)

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1] < p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 8

ВАРИАНТ 13

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд цифр, расположенных в строго убывающем порядке.

Для выполнения этого задания следует написать программу.

 

Решение и ответ

f=open(’24_var_10-18.txt’)

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1] > p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 7

ВАРИАНТ 14

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд цифр, расположенных в невозрастающем порядке.

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_10-18.txt’)

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1] >= p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 47

ВАРИАНТ 15

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд цифр, расположенных в неубывающем порядке.

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_10-18.txt’)

p=f.readline()
f.close()
m=k=1

for i in range(1,len(p)):
    if p[i-1] <= p[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 49

ВАРИАНТ 16

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд нечетных цифр.

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_10-18.txt’)

p=f.readline()
f.close()
m=k=1
N=[‘1′,’3′,’5′,’7′,’9’]

for i in s:
    if  i in N:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 17

ВАРИАНТ 17

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд четных цифр.

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_10-18.txt’)

p=f.readline()
f.close()
m=k=1
Ch=[‘0′,’2′,’4′,’6′,’8’]

for i in s:
    if  i in Ch:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 50

ВАРИАНТ 18

Текстовый файл состоит не более чем из 10символов арабских цифр (0, 1, 2, …, 9). Определите максимальное количество идущих подряд нечетных цифр, расположенных в неубывающем порядке.

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_10-18.txt’)

s=f.readline()
f.close()
m=k=1
N=[‘1′,’3′,’5′,’7′,’9’]

for i in range(1,len(s)):
    if  s[i-1] in N and s[i] in N and s[i-1]<=s[i]:
        k+=1
    else:
        m=max(k,m)
        k=1

print(m)

Ответ: 8

ВАРИАНТ 19

Текстовый файл состоит не более чем из 10символов I, V и X. Сколько раз в файле встречается последовательность цифр, формирующая римскую цифру XV?

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_19-20.txt’)
s = f.read()
f.close()
k=0

for i in range(1, len(s)):
    if  s[i-1] + s[i] ==’XV’:
        k += 1 
print(k)

# или так
s=s.replace(‘XV’,’z’)
print(s.count(‘z’))

# или так
s=s.replace(‘XV’,’z’)
k=0
for i in s:
    if  i==’z’:
        k+=1
print(k)

Ответ: 111177

ВАРИАНТ 20

Текстовый файл состоит не более чем из 10символов I, V и X. Сколько раз в файле встречается последовательность цифр, формирующая римскую цифру XVI?

Для выполнения этого задания следует написать программу.

Решение и ответ

f=open(’24_var_19-20.txt’)
s = f.read()
f.close()
k=0 #см вариант 19, публикую самое короткое решение
s=s.replace(‘XVI’,’z’)
print(s.count(‘z’))

Ответ: 36713

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как составить маленькие сказки
  • Как найти людей в домодедова
  • Как составить поздравление с обращением учи ру ответы
  • Как составить оксид свинца
  • Как найти трейд ссылку в приложении стим

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии