Показываю разборы с ответами и решениями урока 3.4 (Файловый ввод/вывод) для курса «Программирование на Python».
Предыдущий модуль 3.2 следующий модуль 3.5
Напишите программу, которая считывает из файла строку, соответствующую тексту, сжатому с помощью кодирования повторов, и производит обратную операцию, получая исходный текст.
with open('dataset_3363_2.txt') as t:
s = t.readline().strip()
def rep(symbol, iter): return symbol*int(iter)
i = 0
while i < len(s):
iter = ''
if s[i].isalpha():
symbol = s[i]
i += 1
while s[i].isdigit():
iter += s[i]
if i == len(s)-1: break
i += 1
print(rep(symbol, iter),end='')
Недавно мы считали для каждого слова количество его вхождений в строку. Но на все слова может быть не так интересно смотреть, как, например, на наиболее часто используемые.
Напишите программу, которая считывает текст из файла (в файле может быть больше одной строки) и выводит самое частое слово в этом тексте и через пробел то, сколько раз оно встретилось. Если таких слов несколько, вывести лексикографически первое (можно использовать оператор < для строк).
with open('dataset_3363_3.txt') as inf, open('MostPopularWord.txt','w') as ouf:
maxc = 0
s = inf.read().lower().strip().split()
s.sort()
for word in s:
counter = s.count(word)
if counter > maxc:
maxc = counter
result_word = word
ouf.write(result_word +' ' + str(maxc))
Имеется файл с данными по успеваемости абитуриентов. Он представляет из себя набор строк, где в каждой строке записана следующая информация:
Фамилия;Оценка_по_математике;Оценка_по_физике;Оценка_по_русскому_языку
Поля внутри строки разделены точкой с запятой, оценки — целые числа.
Напишите программу, которая считывает исходный файл с подобной структурой и для каждого абитуриента записывает его среднюю оценку по трём предметам на отдельной строке, соответствующей этому абитуриенту, в файл с ответом.
Также вычислите средние баллы по математике, физике и русскому языку по всем абитуриентам и добавьте полученные значения, разделённые пробелом, последней строкой в файл с ответом.
count, a1, b1, c1 = 0, 0, 0, 0
with open('dataset_3363_4.txt', 'r') as inf:
for line in inf:
line = line.strip().split(';')
a, b, c = int(line[1]), int(line[2]), int(line[3])
print((a+b+c)/3)
count += 1
a1 += a
b1 += b
c1 += c
print((a1/count), (b1/count), (c1/count)) Дополнительные задачи
Будьте внимательны.
В данном разделе задачи не относящиеся к уроку 3.2 «Программирование на Python»
Файл содержит строку символов. Программа подсчитывает количество цифр в этой строке. В программе пропущена одна команда. Запишите недостающую команду.
s= open('pr.txt').readline() k=0 for i in range (len(s)): …. k+=1 print (k)
s = open('pr.txt').readline()
k = 0
for i in range(len(s)):
if s[i].isdigit(): # Недостающая строка. Проверяет, является ли символ цифрой
k += 1
print(k) программа выводит на печать количество гласных букв в строке. в программе пропущена одна команда. запишите недостающую команду.
a = open('pr.txt').readline() b = a.lower() k = 0 if b[i] in 'аеёиоуыэюя': k += 1 print(k)
a = open('pr.txt').readline()
b = a.lower()
k = 0
for i in range(len(b)): # Недостающая строка. Цикл для перебора символов в строке b
if b[i] in 'аеёиоуыэюя':
k += 1
print(k) текстовый файл содержит строку, составленную из символов латинского алфавита. программа удаляет каждый четвертый символ. в программе пропущена одна команда. запишите недостающую команду.
s = open('pr.txt').readline() k = '' for i in range(0, len(s), 4): ... print(k)
s = open('pr.txt').readline()
k = ''
for i in range(0, len(s), 4):
k += s[i:i+3] # Недостающая строка. Извлекаем символы, которые нужно сохранить
print(k) текстовый файл pr.txt содержит строку, составленную из символов латинского алфавита и цифр. программа удаляет в строке все цифры. в программе пропущена одна команда. запишите недостающую команду.
s = open('pr.txt').readline() s1 = '' ... if not letter.isdigit(): s1 += letter print(s1)
s = open('pr.txt').readline()
s1 = ''
for letter in s: # Недостающая строка.
if not letter.isdigit():
s1 += letter
print(s1) Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
всё не правильно