Python 分割字符串并打乱中间的内容

2023-12-03

我在使用 python 程序时遇到问题...我需要该程序混淆单词的中间,同时保持外部两个字母完好无损...我相信我已经成功地将单词分成三个不同的部分,我只是不能弄清楚我应该如何打乱单词的中间部分

word = input("Enter a word")

first_letter = word[0]

last_letter = word[-1]

still_to_scramble = word[1:-1]

我应该使用随机数吗?或者有一个简单的方法,抱歉我对编码比较陌生。


您可以使用shuffle来自随机包:

import random
letters = list(still_to_scramble)
random.shuffle(letters)
scrambled = ''.join(letters)

其工作原理如下:

>>> s
'$123abc$'
>>> first_letter = s[0]
>>> last_letter = s[-1]
>>> middle_parts = list(s[1:-1])
>>> random.shuffle(middle_parts)
>>> ''.join(middle_parts)
'b3a2c1'

请小心,不要这样做:

>>> middle_parts_random = random.shuffle(middle_parts)

shuffle works in place- 这是一种奇特的说法,它不返回打乱的位,而是修改它。它实际上返回None,你可能会被它绊倒,因为你不会看到错误:

>>> middle_parts_random = random.shuffle(middle_parts)
>>> middle_parts_random # Huh? nothing is printed!
>>> middle_parts_random == None # Ah, that's why. Darn you in-place methods!
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 分割字符串并打乱中间的内容 的相关文章

随机推荐

  • Amazon Route 53 + Heroku 应用程序无法从某些地方访问 - 该怎么办?

    我正在 Heroku 上工作 在网络方面没有太多背景 我正在开发的应用程序似乎无法从某些地方访问 我们收到了人们无法访问它的报告 我们使用的 ping 服务 Statuscake 报告该站点始终无法从某些节点位置访问 为了解决这个问题 我们
  • Netbeans 15 和 payara 6.2022

    我在 JDK 17 上运行 Netbeans 15 我想尝试 Jakarta EE 10 因此我决定将我的应用程序服务器升级到 Payara 6 2022 1 Alpha 4 应用程序服务器工作正常 我可以在更新大量库后将我的应用程序部署到
  • PHP rtrim“.php”

    我想从字符串末尾删除 php 如果存在 考虑一下 filename index rtrim filename php returns index filename search rtrim filename php returns sear
  • .Net Maui - 如何返回根页面

    我觉得我只是没有向谷歌霸主问这个问题 所以我想看看是否有人可以帮助解释如何做到这一点 我有一个新的 Net Maui 应用程序 它使用 4 个不同的视图 页面 我创建的 MainPage 根 允许我从我们的数据库中搜索用户 然后将您转换到新
  • 在 Swift 4 中用一根手指进行旋转

    我创建了一个 UIGestureRecognizer 来仅用一根手指旋转视图 视图在开始时旋转 但一旦达到一定程度 就会向另一个方向旋转 你能帮我修改我的代码吗 UI视图控制器 override func viewDidLoad super
  • 编写一个肯定会陷入死锁的程序[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我最近在采访中被问到这个问题 我回答说如果交错出错就会出现死锁 但是面试官坚持说可以写一个不管交错总是陷入死锁的程序 我们可以写这样的程序吗 你能给我指一些类似的示例程序吗 UP
  • 高效四元数到欧拉变换

    我使用以下 Python 函数将四元数转换为欧拉角 import math def quaternion to euler angle w x y z ysqr y y t0 2 0 w x y z t1 1 0 2 0 x x ysqr
  • Spring框架无法启动嵌入式容器

    我正在关注 Spring in Action 第四版第 5 章 但我一直停留在第一个示例上 这是我的 Eclipse Luna 项目结构 如果我将这个项目作为 Spring Boot App 运行 那么它会抛出异常 org springfr
  • 如何搜索XML文件中存储的字符串内容?

    我是安卓开发新手 我有一个包含一堆片段的活动 每个片段显示不同的文本 我在运行时从 strings xml 设置文本 即 tv setText 这是我的 strings xml 的示例
  • 立即将 stdout 重定向到 tkinter(无需等待进程完成)

    我正在编写一个 python 应用程序来获取用户的一些输入并根据这些输入调用 shell 脚本 这个 shell 脚本可以运行相当长的一段时间 我想将它生成的输出 实时 重定向到 tkinter 我设法做到了这一点 但它仅在 shell 脚
  • 在c++中计算unicode字符

    你怎么数unicodeC 中 UTF 8 文件中的字符 也许如果有人愿意向我展示一种 独立 方法 或者使用一个简短的例子http icu project org index html EDIT 一个重要的警告是 我需要建立每个字符的计数 所
  • 从 Storyboard 投射到子类

    想象一下我有一个 BaseViewController 然后我有 2 个场景 新建和编辑 两者共享相同的 UI 和大部分逻辑 所以我创建了类 NewViewController 和 EditViewController 子类化 BaseVi
  • 如何知道 exec 函数中的命令错误?

    我正在使用 ffmpeg 命令通过 php 中的 exec 函数来剪切视频 但它没有创建视频文件 也没有显示任何错误 我使用了 exec 如下 exec ffmpeg i input flv ss 00 00 30 0 t 00 00 10
  • 在初始化之前从根状态调用 connectOutlets?

    http jsfiddle net pauldechov 89S5p 在 root 的 connectOutlets 中 App似乎仍然不 initialize d connectOutlets 不适合与根状态一起使用吗 为什么 如果我每次
  • 在 Swift 3 通知中心观察者中使用选择器

    NotificationCenter default addObserver self selector Selector uploaded name NSNotification Name rawValue uploaded object
  • 如何使用组合框过滤Datagridview而不更改数据源

    我正在使用 Windows 窗体编写一个程序 并且我已经构建了一些代码 如下所示 在文本框中写入站点 URL 然后单击 开始 按钮 匹配的数据将显示在 DataGridViews 中 我有 6 个 DataGridView 在第一个 Dat
  • 错误添加SceneBuilder快捷链接后如何将Scene Builder添加到Intellij

    所以我安装了Intellij第一次 我错误地链接了场景构建器快捷方式链接到FXML文件并不断收到此错误 IntelliJ failed to start scene builder 经过大量搜索后 我无法找到如何重置SceneBuilder
  • ggplot2 轴文本的奇怪理由

    我遇到了一个奇怪的轴文本对齐问题 如下图所示 您可能需要放大图像才能看到问题 正如您所看到的 x 轴文本绘制在刻度线的下方 y 轴文本绘制在刻度线的左侧 并且刻度线本身遍布各处 可能导致此行为的原因是 也许更重要的是 可以采取什么措施来避免
  • 浏览器会短暂显示没有样式的页面(视觉故障)

    我观察到 Internet Explorer 7 或 8 没关系 很少会显示我们的网页 www epsitec ch 短时间内不应用CSS 布局看起来完全被破坏了 所有内容都从上到下按顺序显示 当页面加载完成后 所有内容终于正确显示 我们的
  • Python 分割字符串并打乱中间的内容

    我在使用 python 程序时遇到问题 我需要该程序混淆单词的中间 同时保持外部两个字母完好无损 我相信我已经成功地将单词分成三个不同的部分 我只是不能弄清楚我应该如何打乱单词的中间部分 word input Enter a word fi