Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 8

Задача с одновременным чтением файла и записью в файл

11.11.2022, 19:27. Показов 1699. Ответов 6

Студворк — интернет-сервис помощи студентам
Напишите программу, которая запрашивает у пользователя [ФИО] и сохраняет его в файл.
Если это [ФИО] записывается в файл впервые — выдается приветствие «Вы успешно зарегистрированы в системе!», а если такое [ФИО] уже было введено, то выдается приветствие типа «Вы нас уже посетили Х раз», где Х — это количество запусков программы с одним и тем же [ФИО]. Данные о количестве запусков тоже должны хранится в файле рядом с [ФИО]. После выдачи приветствия, программа завершает работу сообщением «До новых встреч, [ФИО]»

Получилось пока что так, но даже так ФИО в файл не записывается. И не оч понимаю, как подсчитывать и записывать количество запусков программы каждым пользователем.

Python
1
2
3
4
5
6
7
8
9
10
file = open("1.txt", "w")
file = open("1.txt", "r")
text = file.read()
if name in text:
    print("Вы нас уже посетили Х раз")
if name not in text:
    file.write=(name)
    print("Вы успешно зарегистрированы в системе!")
file.close()
print ("До новых встреч,",name)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.11.2022, 19:27
Ответы с готовыми решениями:

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

Проблемы с чтением/записью классов в файл
Всем привет. Стоит задача создать файл из экземпляров классов, чтобы можно было сохранять и считывать эти экземпляры. Есть класс и...

Проблема с чтением из БД Oracle и записью в файл
Всем доброго времени суток. Пишу софтинку для автоматической генерации файлов CSV, данные грузятся в потоке из Oracle. Проблема возника в...

6
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
11.11.2022, 19:52
Python
1
2
file = open("1.txt", "w")
file = open("1.txt", "r")
а какой фал для чтения и какой для записи?
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
11.11.2022, 19:57
Лучший ответ Сообщение было отмечено m3lrouse как решение

Решение

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
def read_db():
    with open('input.txt', 'r', encoding='utf-8') as f:
        a = f.read().splitlines()
    d = {}
    for line in a:
        name, visit = line.rsplit(' ', 1)
        d[name] = int(visit)
    return d
 
 
def write_db(dct):
    with open('input.txt', 'w', encoding='utf-8') as f:
        f.write('\n'.join(' '.join([k, str(v)]) for k, v in dct.items()))
 
 
while True:
    name = input('Имя: ')
    d = read_db()
    d[name] = d.get(name, 0) + 1
    if d[name] > 1:
        print(f'Вы нас уже посетили {d[name]} раз')
    else:
        print('Вы успешно зарегистрированы в системе!')
    write_db(d)
1
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,310
11.11.2022, 19:58
Alexarh, наверно файл открыть на дозапись нужно. иначе каждый раз он будет перезаписан с одним фио
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
11.11.2022, 20:12
Semen-Semenich, не, мы же каждый раз читаем, обновляем информацию в словаре и записываем.

Добавлено через 4 минуты
m3lrouse, поменьше заморочек.
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
import json
 
 
def read_db():
    try:
        with open('input.json', 'r', encoding='utf-8') as f:
            return json.load(f)
    except:
        return {}
 
 
def write_db(dct):
    with open('input.json', 'w', encoding='utf-8') as f:
        json.dump(dct, f, ensure_ascii=False, indent=4)
 
 
while True:
    name = input('Имя: ')
    d = read_db()
    d[name] = d.get(name, 0) + 1
    if d[name] > 1:
        print(f'Вы нас уже посетили {d[name]} раз')
    else:
        print('Вы успешно зарегистрированы в системе!')
    write_db(d)
Добавлено через 1 минуту
Хотя, так скорее всего неправильно "создать" будет json по-умолчанию, ведь можно и затереть все, но думаю сойдет для примера.
1
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 8
11.11.2022, 21:41  [ТС]
Спасибо!
А мне учиться, и учиться...

Добавлено через 6 минут
Alexarh,
Ой, подскажите, пожалуйста, а как сделать, так, чтобы она не шла по второму кругу или это в данном случае нерационально?

Введите ФИО: ФИО
Вы нас уже посетили 2 раз(а)
До новых встреч, ФИО
Введите ФИО:
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
11.11.2022, 21:55
Лучший ответ Сообщение было отмечено m3lrouse как решение

Решение

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
def read_db():
    with open('input.txt', 'r', encoding='utf-8') as f:
        a = f.read().splitlines()
    d = {}
    for line in a:
        name, visit = line.rsplit(' ', 1)
        d[name] = int(visit)
    return d
 
 
def write_db(dct):
    with open('input.txt', 'w', encoding='utf-8') as f:
        f.write('\n'.join(' '.join([k, str(v)]) for k, v in dct.items()))
 
 
 
name = input('Имя: ')
d = read_db()
d[name] = d.get(name, 0) + 1
if d[name] > 1:
    print(f'Вы нас уже посетили {d[name]} раз')
else:
    print('Вы успешно зарегистрированы в системе!')
write_db(d)
print(f'До новых встреч, {name}')
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2022, 21:55
Помогаю со студенческими работами здесь

Не могу разобраться чтением и записью в файл
Тема моей курсовой работы "разработка программы определения размера стихотворения". В краце мне нужно считать из текстового файла все...

Проблемы с чтением/записью в типизированный файл
Здравствуйте. У меня задача написать класс, который управляет файлом и делает некоторые дополнительные задачи по условию. В конструкторе...

Проблемы с чтением и записью в файл в Юникоде
Добрый день. Есть код: Запись в файл: Option Explicit Sub SavingCaseAsUnicodeFile() Dim FileName, SheetName As String,...

Проблема с записью и чтением данных из файла
После записи программой в файл и открытии файла через Sublime Text, получается следующее: æåëåçî 13.24 Если открыть через обычный...

Задачка с записью и чтением из текстового файла с++
В текстовом файле «In.txt» сохраняются через пробел целые числа. Переписать в новый текстовый файл «Out.txt» каждое четное по номеру...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru