Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
2 / 2 / 1
Регистрация: 14.05.2019
Сообщений: 135

Файл: Вывести в файл данные про отличников или хорошистов

31.10.2019, 11:36. Показов 5031. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите, пожалуйста.

Работа с файлами.

Python
1
2
3
4
5
6
7
8
9
10
11
12
f = open("line.txt", "w")
f.write("")
f.close()
list_stud = ["Мишина Анастасия 555555555555\n", "Цветкова Нина  5454554555555\n", "Курцина Мария 5554454555"]
f = open("line.txt", "a")
f.close()
f = open("line.txt", "a")
f.write(str(len(list_stud))+"\n")
f.close()
f = open("line.txt","a")
f.writelines(list_stud)
f.close()

Теперь нужно открыть этот файл на прочтение, затем создать новый файл, и чтобы в новом файле выводились например одни отличники или одни хорошисты, в общем то,что указывается.

Помогите,пожалуйста.

Я знаю, что делать надо через цикл for i in range
Вложения
Тип файла: txt line.txt (87 байт, 2 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2019, 11:36
Ответы с готовыми решениями:

вывести все данные из файла на экран и вывести фамилии отличников в отдельный файл.
Создать файл записей с информацией о фамилии, имена студентов, оценок по информатике и математике .. Первые два поля будут до 12 символов...

Создать массив для оценок и вывести список хорошистов и отличников
Помогите пожалуйста! Нужно прописать массив для оценок и чтобы в результате выводились все кто успевают на 4 и 5. #include...

Вести массив структур и вывести разным цветом отличников, хорошистов
Написать программу на языке ассемблера, которая позволяет ввести с клавиатуры массив из 7 записей (Фамилия (15 байт), Предмет (20 байт),...

3
6 / 6 / 0
Регистрация: 23.12.2015
Сообщений: 227
31.10.2019, 13:04
Цитата Сообщение от kokosic_n1 Посмотреть сообщение
Здравствуйте, помогите, пожалуйста.

Работа с файлами.

Python
1
2
3
4
5
6
7
8
9
10
11
12
f = open("line.txt", "w")
f.write("")
f.close()
list_stud = ["Мишина Анастасия 555555555555\n", "Цветкова Нина  5454554555555\n", "Курцина Мария 5554454555"]
f = open("line.txt", "a")
f.close()
f = open("line.txt", "a")
f.write(str(len(list_stud))+"\n")
f.close()
f = open("line.txt","a")
f.writelines(list_stud)
f.close()

Теперь нужно открыть этот файл на прочтение, затем создать новый файл, и чтобы в новом файле выводились например одни отличники или одни хорошисты, в общем то,что указывается.

Помогите,пожалуйста.

Я знаю, что делать надо через цикл for i in range
Ну как-то так, не судите строго....
Python
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
list_stud = 'Мишина Анастасия 555555555555\nЦветкова Нина 54545222225555\nКурцина Мария 5554454555\nВася Пупкин 22233233423422'
# Категории рейтинга 
good = 4.7
bad = 3.6
nice = 5
# Открываем\Создаем файлы
f = open("Отличники.txt", "w")
h = open("Двоечник.txt", "w")
t = open("Хорошисты.txt", "w")
 
a = list_stud.split('\n')
for i in a:
    e = i.split(' ')
    data = list(map(int, e[2]))
    rating = sum(data) / len(data)
    # Отличники
    if rating > good:
        print(i)
        f.write(i)
    # Двоечники
    elif rating <= bad:
        print(i)
        h.write(i)
    # Хорошисты
    elif rating <=good and rating > bad:
        t.write(i+'\t')
f.close()
h.close()
t.close()
 
print('end')
P.S. Книга A BiteofPython ничего такая)

Добавлено через 5 минут
Python
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
list_stud = 'Мишина Анастасия 555555555555\nЦветкова Нина 54545222225555\nКурцина Мария 5554454555\nВася Пупкин 22233233423422'
# Категории рейтинга
good = 4.7
bad = 3.6
nice = 5
fplm = 3
# Открываем\Создаем файлы
f = open("Отличники.txt", "w")
h = open("Двоечник.txt", "w")
t = open("Хорошисты.txt", "w")
x = open("Три.txt","w")
 
a = list_stud.split('\n')
for i in a:
    e = i.split(' ')
    data = list(map(int, e[2]))
    rating = sum(data) / len(data)
    # Отличники
    if rating > good:
        print(i)
        f.write(i)
    elif rating< fplm:
        x.write(i)
    # Двоечники
    elif rating <= bad and rating > fplm:
        print(i)
        h.write(i)
    # Хорошисты
    elif rating <=good and rating > bad:
        t.write(i+'\t')
f.close()
h.close()
t.close()
x.close()
print('end')
Забыл Троечников )
1
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
31.10.2019, 14:10
Лучший ответ Сообщение было отмечено kokosic_n1 как решение

Решение

maksonech, очень много букав.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- coding: utf-8 -*-
 
text = """Мишина Анастасия 555555555555
Цветкова Нина 54545222225555
Курцина Мария 5554454555
Пупкин Вася 22233233423422"""
 
for line in text.split("\n"):
    second_name, first_name, grades = line.split()
    rating =  sum(map(int, grades)) // len(grades)
    if rating > 4.7:
        file_name = "Отличники"
    elif rating > 3.6:
        file_name = "Хорошисты"
    elif rating > 3.0:
        file_name = "Троечники"
    else:
        file_name = "Двоечники"
    with open(f"{file_name}.txt", "at") as file:
        file.write(f"{first_name} {second_name}\n")
2
2 / 2 / 1
Регистрация: 14.05.2019
Сообщений: 135
01.11.2019, 00:31  [ТС]
maksonech, спасибо Вам огромное и извините, я не хочу наглеть,мне нужна помощь еще в одном задании.., просто не понимаю язык программирования Питон,хехе.
ссылка - Создать программу, в которой описана иерархия классов: геометрические фигуры
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2019, 00:31
Помогаю со студенческими работами здесь

Определить количество отличников, хорошистов, троечников. Вывести список каждых.
2) Ввести информацию по N ученикам (порядковый номер, Ф.И.О. и три оценки). Определить количество отличников, хорошистов, троечников....

Вывести на экран список студентов группы, которая содержит максимальное количество хорошистов и отличников
Добрый день, нужно написать отдельную функцию к большой программе &quot;Вывести на экран список студентов группы, которая содержит...

Файл: Вывести данные про абитуриентов, проходной балл которых выше 4.
Имеется задача: Я написал код, но вылезают ошибки: Что я сделал не так, подскажите пожалуйста, исправьте меня. ...

Файл: Записать в выходной файл данные про лучших студентов по среднему баллу в каждой группе
Здравствуйте! Не могу разобраться в лабораторной (не пойму, что необходимо сделать). К примеру в с 1-10 варианта структура будет...

Массив структур "Студенты", вывести имена отличников, хорошистов и троечников
Создать двумерных целочисленный массив студенты N строк Имена и предметы записаны в коде (всего по 5 штук) Имена и оценки вводятся с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru