Найти - Пользователи
Полная версия: Расчёт среднеарифметического из чисел извлечённых из заданного файла
Начало » Python для новичков » Расчёт среднеарифметического из чисел извлечённых из заданного файла
1
Abeille
Необходимо использовать ряд приёмов. Часть их есть в коде ниже.

Стопорнулась на поиске (find) определённой метки и получаю сообщение о неприсваевом атрибуте.
То есть нужно ещё использовать .find(“:”) и выбрать только числа для дальнейшей операции
сложения (sum) и вычисления average. Мозги уже кипят. ((

Необходимый output:

Average: /a float number/

Допустим, имеется файл flowers.txt со следующим содержанием:
poppies: 0.567
poppies: 0.456
poppies: 0.789
poppies: 0.673
poppies: 0.321

Вот мой черновик:

# Use the file name flowers.txt as the file name
fname = input(“Enter file name: ”)

try:
fh = open(fname)
except:
print('Sorry, no such file:', fname)
exit()

count = 0
for line in fh:
line = line.rstrip()
if not line.startswith(“poppies:”): continue
count += 1
line = line.split(“,”)
line = ‘'.join(line)
num = line.find(’:')
print(count,line, len(line),num)

print(“Average: ”)


Я - не волшебник, я ещё только учусь)
Budulianin
Код в теги.
Описывай задание яснее.

count = 0
sum_numbers = 0
with open('input.txt') as fin:
    for line in fin:
        count += 1
        sum_numbers += float(line.split(':')[1])
print(sum_numbers, sum_numbers / count)
ayb
Компактно :
flowers = [float(line.split(':')[1].strip()) for line in open('data.txt', 'r') if line.startswith('poppies:')]
print(sum(flowers)/len(flowers))
Budulianin
ayb
Компактно
Точнее, не по PEP и по-нубски.
JOHN_16
Budulianin
не по PEP
PEP-008 это не стандарт, а набор рекомендаций, не обязательных к использованию. Часть из которых сообщество приняло практически повсеместно (например использовать пробелы вместо табов), другие стало почвой для споров (например ограничение 80 символов в строчке кода). Я, к примеру, не поддерживаю идею что каждый импорт должен быть оформлен в новой строчке - у меня свои идеи на этот счет.
Поэтому несоответствие этому PEP это как то бессмысленное заявление, если его рассматривать дотошно.
Budulianin
по-нубски
Это потому что задание выполнено не оптимально по памяти, как в вашем примере?
Budulianin
JOHN_16
PEP-008 это не стандарт, а набор рекомендаций, не обязательных к использованию.
Если ты пишешь только для себя и своей конторки и твой код никто не увидит, то конечно, это так.
Но даже при этом слова “не обязательных к использованию.” звучат стрёмно.

JOHN_16
(например ограничение 80 символов в строчке кода)
В крайнем случае можно 100.

(И я не рассматриваю варианты, когда команда договорилась о код стайле, это отдельный разговор)

JOHN_16
Поэтому несоответствие этому PEP это как то бессмысленное заявление, если его рассматривать дотошно.
Если ты его не знаешь и не соблюдаешь, и не понимаешь для чего он, то да, бессмысленно.

JOHN_16
Это потому что задание выполнено не оптимально по памяти, как в вашем примере?
Пффф, нет. Про память тут особого смысла думать нет.
Важнее подход и основы, которые будут использоваться в дальнейшем.

Любого нуба выдаёт любовь вот к таким однострочникам переросткам,
которые они потом привыкают лепить при каждой возможности.
Abeille
Всем огромное спасибо за помощь!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB