Python中的凯撒密码:删除列表中的空格

2024-02-15

我正在从事凯撒密码项目。我获取用户的输入,将其转换为列表,删除空格,然后对字母进行加密。

我的问题是:如何将这些空格重新添加到最终的加密消息中?

这是我到目前为止所取得的成就(假装单词=消息)

alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

en_de = input("Do you want to encrypt or decrypt your message? ")
word = input("Enter a word: ")
shift = input("Enter a number: ")

word = list(word)

indexes = []

def encrypt():
  for letters in word:
    if letters in alphabet:
      index = (alphabet.index(letters))
      int(index)
      indexes.append(index)
  print(indexes)
  n = 0
  n = n + int(shift)
  for i in range(len(indexes)):
   indexes[i] = indexes[i] + n
  print(indexes)
  ceaser_cipher = ''
  for i in indexes:
    if i > len(alphabet)-1:
      i %= len(alphabet)
    ceaser_cipher = ceaser_cipher + (alphabet[i])
  for 
  print(ceaser_cipher)

def decrypt():
  for letters in word:
    index = (alphabet.index(letters))
    int(index)
    indexes.append(index)
  print(indexes)
  n = 0
  n = n + int(shift)
  for i in range(len(indexes)):
   indexes[i] = indexes[i] - n
  print(indexes)
  ceaser_cipher = ''
  for i in indexes:
    if i > len(alphabet)-1:
      i %= len(alphabet)
    ceaser_cipher = ceaser_cipher + (alphabet[i])
  print(ceaser_cipher)  

if en_de == "encrypt":
  encrypt()
elif en_de == "decrypt":
  decrypt()

我想要的结构是这样的:

input_string = input("Enter message or cipher: ")
input_list = input_string.split(" ")
# input_list will be a list of each word in input_string
# encrypt each word in input_list and append each encrypted word 
# to a new list, let's say that list is called output_list
output = " ".join(output_list)
# output will be a string of each item in the list separated by spaces

最终的程序可能如下所示:

alphabet = list("abcdefghijklmnopqrstuvwxyz")
message = input("message or cipher: ").lower().split(" ")
shift = int(input("shift: "))
shifted_alphabet = alphabet[shift:] + alphabet[:shift]
cipher_list = []
for word in message:
    cipher_word = ""
    for letter in word:
        cipher_word += shifted_alphabet[alphabet.index(letter)]
    cipher_list.append(cipher_word)
print(" ".join(cipher_list))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中的凯撒密码:删除列表中的空格 的相关文章

  • 具有多处理功能的 Python 代码无法在 Windows 上运行

    以下简单的绝对初学者代码在 Ubuntu 14 04 Python 2 7 6 和 Cygwin Python 2 7 8 上运行 100 但在 Windows 64 位 Python 2 7 8 上挂起 我使用另一个片段观察到了同样的情况
  • DataFrame 在函数内部修改

    我面临一个我以前从未观察到的函数内数据帧修改的问题 有没有一种方法可以处理这个问题 以便初始数据帧不被修改 def test df df tt np nan return df dff pd DataFrame data 现在 当我打印时d
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2
  • 底图上的子图

    我有一张英国地图和 121 个地点 每个地点有 3 个值 我想绘制 121 个位置中每个位置的三个值的小条形图 目前 这些值绘制为markersize属性 看起来像这样 密集恐惧症情节 https i stack imgur com 5fv
  • Python 中的安全解除引用

    Groovy 有一个很好的安全取消引用运算符 这有助于避免 NullPointerExceptions variable method The method仅当以下情况时才会被调用variable is not null 有没有办法在 Py
  • Python的reduce()短路了吗?

    If I do result reduce operator and False 1000 得到第一个结果后它会停止吗 自从False anything False 相似地 result reduce operator or True 10
  • 为什么在 Windows 中使用 GetConsoleScreenBufferInfoEx 时控制台窗口会缩小?

    我正在尝试使用 GetConsoleScreenBufferInfoEx 和 SetConsoleScreenBufferInfoEx 设置 Windows 命令行控制台的背景和前景色 我正在 Python 中使用 wintypes 进行此
  • html 解析器 python

    我正在尝试解析一个网站 我正在使用 HTMLParser 模块 问题是我想解析第一个 a href 评论后 但我真的不知道该怎么做 所以我在文档中发现有一个函数叫做handle comment 但我还没有找到如何正确使用它 我有以下内容 i
  • 如何找到列表S的所有分区为k个子集(可以为空)?

    我有一个唯一元素列表 比方说 1 2 我想将其拆分为 k 2 个子列表 现在我想要所有可能的子列表 1 2 1 2 2 1 1 2 我想分成 1 1 2 我怎样才能用 Python 3 做到这一点 更新 我的目标是获取 N 个唯一数字列表的
  • 为什么我的scoped_session 引发 AttributeError: 'Session' object has no attribute 'remove'

    我正在尝试建立一个系统 将数据库操作优雅地推迟到单独的线程 以避免在 Twisted 回调期间发生阻塞 到目前为止 这是我的方法 from contextlib import contextmanager from sqlalchemy i
  • 如何动态访问数据帧列表中的特定属性

    我有一个数据 它是数据框的列表 我正在尝试访问列表中每个数据帧内的特定属性 可以提取特定属性DP UniqueId使用下面的代码 gt attr new data A AA SpotfireColumnMetaData DP UniqueI
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • 如何使用 PySpark 有效地将这么多 csv 文件(大约 130,000 个)合并到一个大型数据集中?

    我之前发布了这个问题并得到了一些使用 PySpark 的建议 如何有效地将这一大数据集合并到一个大数据框中 https stackoverflow com questions 60259271 how can i merge this la
  • Python 视频框架

    我正在寻找一个 Python 框架 它将使我能够播放视频并在该视频上绘图 用于标记目的 我尝试过 Pyglet 但这似乎效果不是特别好 在现有视频上绘图时 会出现闪烁 即使使用双缓冲和所有这些好东西 而且似乎没有办法在每帧回调期间获取视频中
  • Python正则表达式从字符串中获取浮点数

    我正在使用正则表达式来解析字符串中的浮点数 re findall a zA Z d d t 是我使用的代码 这段代码有问题 如果数字和任何字符之间没有空格 则不会解析该数字 例如 0 1 2 3 4 5 6 7 8 9 的预期输出为 0 1
  • 求解不等式系统时“多项式错误:仅允许使用单变量多项式”

    我想找到以下两个常数的区间cons1 and cons2我写了下面的代码 from sympy import Poly from sympy import Abs from sympy solvers inequalities import
  • Django 接受 AM/PM 作为表单输入

    我试图弄清楚如何使用 DateTime 字段在 Django 中接受 am pm 作为时间格式 但我遇到了一些麻烦 我尝试在 forms py 文件中这样设置 pickup date time from DateTimeField inpu
  • Spyder 如何在同一线程的后台运行 asyncio 事件循环(或者确实如此?)

    我已经研究 asyncio 模块 功能几天了 因为我想将它用于我的应用程序的 IO 绑定部分 并且我认为我现在对它的工作原理有一个合理的理解 或者在至少我认为我已经理解了以下内容 任一时刻 任一线程中只能运行一个异步事件循环 一旦一切都设置
  • 最小硬币找零问题——回溯

    我正在尝试用最少数量的硬币解决硬币找零问题 采用回溯法 我实际上已经完成了它 但我想添加一些选项 按其单位打印硬币数量 而不仅仅是总数 这是我下面的Python代码 def minimum coins coin list change mi
  • scipysolve_ivp() 中的访问时间步长

    我有一个常微分方程系统 正在使用 scipy 的solve ivp 函数求解 它运行良好 但我在访问每个步骤中使用的时间步时遇到问题 我知道solve ivp 将当前时间传递给用户定义的函数 但我需要使用的时间步长 而不是当前时间 为了解决

随机推荐

  • 使 tkinter 窗口在全屏应用程序之上绘制

    我想知道是否有一种方法可以在全屏应用程序上绘制 tkinter 窗口 到目前为止我有这个 from tkinter import MAIN WINDOW root Tk root title Test Title root geometry
  • 如何将输出分配给 shell 脚本变量?

    如何将此结果分配给 shell 变量 Input echo 1 1 bc l Output 2 Attempts 没用 bin sh a echo 1 1 bc l echo a 您正在寻找称为命令替换的 shell 功能 cmd 替换有
  • jarsigner“只能指定一个别名”

    C Program Files Java jdk1 7 0 01 bin gt jarsigner verbose sigalg MD5withRSA digestalg SHA1 keystore Cartoons keystore Ca
  • Git如何进行分布式源代码管理?

    我是一位具有 UNIX SCCS 和 Microsoft Visual SourceSafe 经验的 Git 新手 我刚刚学习 Git 它似乎有一个巨大而痛苦的学习曲线 我已经看到 Git 删除了所有我未提交的数据文件 这让我很担心 实用程
  • 获取多个日期时间对的日期范围

    给定一个形状的日期时间数组 n 2 x np array 2017 10 02T00 00 00 000000000 2017 10 12T00 00 00 000000000 dtype datetime64 ns x有形状 1 2 但实
  • 如何在批处理文件中获取当前CPU使用率和可用内存?

    我正在创建一个简单的脚本 输出当前登录的用户 当前系统的 CPU 使用率和可用内存 我已经设法让当前用户登录 但是否也可以获得 cpu 使用率和内存 这是我到目前为止的代码 echo off for f tokens 3 delims i
  • JSON 和 SOAP WCF 服务?

    我最近将 WCF SOAP 服务转换为 REST JSON 服务 正如回复中详细说明的here https stackoverflow com questions 10232509 can i generate a service refe
  • 如何在 NHibernate 中为页面过滤器执行 SELECT DISTINCT 等效操作?

    假设您正在使用 SQL 2005 并安装了 Northwind 数据库的副本 您正在使用带有员工 浏览 页面的 ASP NET 应用程序 在页面顶部有一个 标题 过滤器 您希望在下拉列表中显示这 5 个选项 ALL 销售副总裁销售代表销售经
  • jQuery Masonry 和 Ajax 获取附加项目导致图像重叠

    这里使用 Masonry 和 Ajax 在 Wordpress 中附加项目时存在另一个图像重叠问题 第一次附加更多项目时 图像会重叠 但是 重新加载页面时 图像不再重叠 经过一些研究后我意识到这与计算图像的高度有关 从 Masonry 网站
  • Mac 版与 Github 分开安装 Git

    我已经安装了 Mac 版的 Github 我意识到我需要进入命令行来做一些事情 Mac 版 Github 中有一个选项可以安装命令行 所有这一切似乎都是在 usr local bin 中创建一个名为 Github 的别名 该别名指向 Mac
  • 如何使用material-ui框架? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我打算使用 Material UI CSS 框架 http material ui com http material ui com
  • 如何在 ASP.Net 中发送状态代码 500 并仍然写入响应?

    我有一个 ASP Net 单文件 Web 服务 ashx文件包含一个IHttpHandler实现 需要能够返回错误作为响应500内部服务器错误状态代码 在 PHP 中这是一件相对简单的事情 header HTTP 1 1 500 Inter
  • 如何配置WCF向客户端推送实时数据?

    我需要将实时更新从服务器发送到客户端 我知道WCF一般都可以做到这一点 然而 silverlight 是一个挑剔的客户 有谁知道如何配置WCF将实时更新发送到Silverlight客户端 来自配置和演练的片段将不胜感激 使用 WCF 回调
  • Ag 网格,防止表格缩放到全宽

    我有一个表格 即使其内容较少 也可以缩放到所有可用宽度 演示 https plnkr co edit 6L8bTAwkEV6R6Be4M1Qm p preview https plnkr co edit 6L8bTAwkEV6R6Be4M1
  • 存储社会安全号码

    我目前工作的公司的人力资源部门要求我提供一个系统 用于在公司数据库中存储员工的社会安全号码 这样做的原因是为了简化工资单的完成 因为我们使用内部软件来处理员工时间表 但必须与第三方软件集成来实现我们的实际工资单系统 这是一家相对较小的公司
  • ASP.Net 身份提供商请求太多信息

    我的 asp net 身份工作正常 但是 当用户登录时 Google 会询问用户是否可以提供以下信息 查看您的电子邮件地址 查看您帐户的基本信息 问题是我什至不想要这些信息 我只是想要一种独特的方式来识别用户 它确实提供了 我不希望用户认为
  • ''hello'' ++ ''world'' 在 Haskell 中不起作用

    只是想澄清一下 这是我第一天编程 我意识到这个问题是多么愚蠢 D 1 为什么不起作用 ghci gt hello world
  • 如何从泛型定义和泛型参数获取泛型类型?

    在 C 中 如何从泛型定义和泛型参数构造泛型类型 例如 var genericDefinition typeof List var genericArgument typeof string How can I get the Type i
  • kubernetes 事件时间表

    我希望能够在时间轴上看到 kube 集群发生的所有各种事情 包括何时发现节点已死亡 何时添加新节点 何时崩溃以及何时重新启动 到目前为止我们发现的最好的是kubectl get event但这似乎有一些限制 它不会回溯那么远 我不确定它回溯
  • Python中的凯撒密码:删除列表中的空格

    我正在从事凯撒密码项目 我获取用户的输入 将其转换为列表 删除空格 然后对字母进行加密 我的问题是 如何将这些空格重新添加到最终的加密消息中 这是我到目前为止所取得的成就 假装单词 消息 alphabet a b c d e f g h i