Разработать алгоритм программы, которая имея значения температуры за месяц (хранящихся в текстовом файле), определяет максимальное и минимальное, а также среднее значения температуры за неделю. На Python!
KnowsUser1
Ваша программа не выполняет условия задачи. Во первых, как минимум, вам ещё нужно считать среднюю температуру, а не только максимум и минимум. Во вторых, Минимум, максимум и среднее программа должна считать за неделю, коих в месяце в аж 4 + пару дней. Ваше же решение считает эту статистику за всё время.
KnowsUser1
и ещё - использование разных стилей наименования в пределах одного скрипта - косяк сразу по двум осям - во первых, это нарушение стандартов написания кода на Python (PEP 8), а во вторых, даже если вы пишете код в гордом одиночестве, и кроме вас его потом никто не увидит, то всё равно, согласитесь, что выглядит такое смешение стилей весьма коряво
vottak54
ого, а сколько вам лет и сколько вы изучаете пайтон? Если не секрет, то где вы изучаете?
KnowsUser1
Изучаю я его не так долго, что то около года, может полтора. Где - на всевозможных бесплатных ресурсах. Курсы ( За исключением SoloLearn. Хотя, назвать это серьёзным курсом у меня не повернётся язык. Но для старта потянет) я никакие не покупал. По этому, на вопрос "где изучаете" - мой ответ будет "В интернете")
vottak54
аа, спасибо. А ещё какие-нибудь языки знаете?
KnowsUser1
Нет. Начинал C# изучать, но углубляться в него пока не стал, слишком уж он какой то хитровыделанный, особенно после питона) Задачку типа этой на нём может напишу.
Answers & Comments
Ответ:
list_temp = []
with open('file_name.txt', 'r') as temp:
for i in temp:
list_temp.append(i)
minTemp = min(list_temp)
maxTemp = max(list_temp)
print(f"Минимальная температура: {minTemp}\nМаксимальная температура: {maxTemp}")
Ответ:
=== Python 3.8.3 ===
import statistics
import re
def TakeFromFile(fname, SingleDataPackCapacity):
with open(fname, 'r', encoding='utf-8') as input_:
data = input_.read()
data = re.sub(r' +', ' ', re.sub(r'\n', ' ', data)).split(' ')
LastTakeIndex = 0
for TakeIndex in range(SingleDataPackCapacity, len(data)+SingleDataPackCapacity, SingleDataPackCapacity):
yield data[LastTakeIndex:TakeIndex]
LastTakeIndex = TakeIndex
for number, WeekData in enumerate(TakeFromFile('input.txt', 7)):
tmp = list(map(int, WeekData))
print(
f'Week: {number+1}\nMax temp: {max(tmp)}\nMin temp: {min(tmp)}\nAverage temp: {statistics.mean(tmp)}\n=====')