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

Как зашифровать слова по позициям букв в файле?

20.12.2013, 16:45. Показов 3637. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа с помощью прочитанного файла должна каждой букве русского алфавита сопоставить числовой код следующим образом: каждой букве соответствует последняя по счёту позиция этой буквы в файле. Коды всех букв нужно вывести на экран.

Написать шифровальную программу. Программа должна спрашивать у пользователя слова, пока тот не введёт пустое слово. После этого она должна распечатать эти слова в зашифрованном виде: вместо каждой буквы должен быть напечатан её код, полученный на предыдущем шаге. Коды букв каждого слова нужно печатать на одной строке через пробел.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2013, 16:45
Ответы с готовыми решениями:

Найти в файле f все слова, которые можно сложить из букв слова р
Дано слово р и файл f .найтти в файле f все слова которые можна сложить с букв слова р Не знаю как делать

Найти в файле f все слова, которые можно сложить из букв слова р
Дано слово р и файл f.найти в файле f все слова которые можна сложить с букв слова р. ФАЙЛ ТЕКСТОВЫЙ! там надо указать путь и тд и тп

Найти в файле все слова, которые можно сложить из букв заданного слова
Дано слово р и файл f.найти в файле f все слова которые можна сложить с букв слова р.

2
Z3JheSBoYXQ=
 Аватар для fanatdebian
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
20.12.2013, 19:10
Лучший ответ Сообщение было отмечено Anastasiaa как решение

Решение

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env python
#coding: utf-8
 
# Программа с помощью прочитанного файла должна
# каждой букве русского алфавита сопоставить числовой код следующим образом:
#  каждой букве соответствует последняя по счёту позиция этой буквы в файле.
#  Коды всех букв нужно вывести на экран.
#
# Написать шифровальную программу.
# Программа должна спрашивать у пользователя слова,
#  пока тот не введёт пустое слово.
#  После этого она должна распечатать эти слова в зашифрованном виде:
#  вместо каждой буквы должен быть напечатан её код,
# полученный на предыдущем шаге.
# Коды букв каждого слова нужно печатать на одной
# строке через пробел.
 
 
def make_file(fname):
  with open(fname,'wb') as f:
    res=[unichr(x) for x in range(1040,1104)]
    [f.write(x.encode('utf-8')+' ') for x in res]
    f.write('\n')
    [f.write(str(x)+' ') for x in range(0,64)]
  with open(fname,'rb') as f:
    r=f.readlines()
    crypt_book= {key.decode('utf-8'):value.decode('utf-8') for key,value in zip(r[0].split(), r[1].split())}
    if len(crypt_book.keys()) == len(crypt_book.values()):
      return crypt_book
    else:
      print 'Ошибочная длина входящей и выходящей сетки.'
      return False
 
def easy_crypt_IO(crypt_book={}):
  if not crypt_book:
    print 'crypt book empty. abort'
    return False
  while True:
    word=raw_input("[exit - для выхода] слово на русском:=>").decode('utf-8')
    if 'exit' in word:
      print 'Выходим из цикла'
      break
    if word:
      crypt=[]
      for sym in word:
        try:
          crypt.extend(crypt_book[sym])
        except KeyError as e:
          print 'ошибка-> в сетке нет подходящего символа для замены' ,e
          crypt.extend(sym)
      print ''.join(crypt)
    else:
      print 'Word is empty'
 
 
fname='crypt_table'
easy_crypt_IO(make_file(fname))
Code
1
2
3
4
5
6
7
8
9
10
[exit - для выхода] слово на русском:=>привет
474840343750
[exit - для выхода] слово на русском:=>тунедцы
50514537365459
[exit - для выхода] слово на русском:=>лентяи
433745506340
[exit - для выхода] слово на русском:=>студентики
49505136374550404240
[exit - для выхода] слово на русском:=>exit
Выходим из цикла
Добавлено через 7 минут
добавлю некоторые пояснения по программке. Функция make_file создает файл crypt_table имеющего в себе строки первая из которых представлена 2 байтовыми значениями кириллицы, вторая - символы для замены. ЗАмечу, что во второй можно пихать что угодно, даже
сегменты, главное правило, чтобы количество элементов у каждой сетки совпадала. Строки разбиваются по пробелу. Так, что общее
правило для каждого элемента - обязательно наличие пробела от соседа.

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

зы. Объяснение для тех, кто в танке. Алгоритм предельно прост.
1
0 / 0 / 0
Регистрация: 16.03.2015
Сообщений: 5
18.03.2015, 11:26
да, я видел данную программу, но я начал только учить питон, и может быть есть способ ее написать проще?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.03.2015, 11:26
Помогаю со студенческими работами здесь

Если слова в файле начинаются с заданных букв, то занести эти слова в массив
Вот задание записать в массив IDN типа STRING все идентификаторы переменных начинаются с букв I, Y,K,L,M,N. Программа работает, но не до...

Найти в файле слова, начинающиеся на заданную букву, и слова с заданным количеством букв
создать тестовый файл ,найти в в ньом слова которые начинаются на заданую букву и слова с заданым количеством букв,создать файл в котором...

Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р
Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р.

Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р
Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р.

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru