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中的凯撒密码:删除列表中的空格 的相关文章

  • 如何在 AWS CDK 创建的 Python Lambda 函数中安装外部模块?

    我在 Cloud9 中使用 Python AWS CDK 并且我部署简单的 Lambda 函数那应该是发送 API 请求到 Atlassian 的 API当对象上传到 S3 存储桶时 也是由 CDK 创建的 这是我的 CDK 堆栈代码 fr
  • 如何正确地将 MIDI 刻度转换为毫秒?

    我正在尝试将 MIDI 刻度 增量时间转换为毫秒 并且已经找到了一些有用的资源 MIDI Delta 时间刻度到秒 http www lastrayofhope co uk 2009 12 23 midi delta time ticks
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • 从 ffmpeg 获取实时输出以在进度条中使用(PyQt4,stdout)

    我已经查看了很多问题 但仍然无法完全弄清楚 我正在使用 PyQt 并且希望能够运行ffmpeg i file mp4 file avi并获取流式输出 以便我可以创建进度条 我看过这些问题 ffmpeg可以显示进度条吗 https stack
  • 通过列表理解压平列表列表

    我正在尝试使用 python 中的列表理解来展平列表 我的清单有点像 1 2 3 4 5 6 7 8 只是为了打印这个列表列表中的单个项目 我编写了这个函数 def flat listoflist for item in listoflis
  • if 语句未命中中的 continue 断点

    在下面的代码中 两者a and b是生成器函数的输出 并且可以评估为None或者有一个值 def testBehaviour self a None b 5 while True if not a or not b continue pri
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 以同步方式使用 FastAPI,如何获取 POST 请求的原始正文?

    在中使用 FastAPIsync not async模式 我希望能够接收 POST 请求的原始 未更改的正文 我能找到的所有例子都显示async代码 当我以正常同步方式尝试时 request body 显示为协程对象 当我通过发布一些内容来
  • 为什么在 Python 2.4 中使用 Unicode 数据会出现 ASCII 编码错误,而在 2.7 中却不会?

    我有一个程序 当在 Python 2 7 中运行时 会生成正确的 Unicode 输出到标准输出 当在 Python 2 4 中运行时 我得到UnicodeEncodeError ascii codec can t encode chara
  • TensorFlow的./configure在哪里以及如何启用GPU支持?

    在我的 Ubuntu 上安装 TensorFlow 时 我想将 GPU 与 CUDA 结合使用 但我却停在了这一步官方教程 http www tensorflow org get started os setup md 这到底是哪里 con
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • 将 JSON 对象传递给带有请求的 url

    所以 我想利用 Kenneth 的优秀请求模块 https github com kennethreitz requests 在尝试使用时偶然发现了这个问题自由库API http wiki freebase com wiki API 基本上
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 限制 django 应用程序模型中的单个记录?

    我想使用模型来保存 django 应用程序的系统设置 因此 我想限制该模型 使其只能有一条记录 极限怎么办 尝试这个 class MyModel models Model onefield models CharField The fiel
  • 检查字典键是否有空值

    我有以下字典 dict1 city name yass region zipcode phone address tehsil planet mars 我正在尝试创建一个基于 dict1 的新字典 但是 它不会包含带有空字符串的键 它不会包
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1

随机推荐

  • 使 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