鱼C论坛

 找回密码
 立即注册
查看: 1551|回复: 2

[已解决]Python问题,帮我看看是什么意思,没理解。

[复制链接]
发表于 2023-12-1 11:10:27 | 显示全部楼层 |阅读模式
5鱼币
本人愚钝,不理解 取余 %26 是什么意思。
text = input("请输入需要加密的明文(只支持英文字母):")
shift = int(input("请输入移动的位数:"))

new_text = ""
for t in text:
    if t.isupper():
        new_text = new_text + chr((ord(t) - 65 + shift) % 26 + 65)
    else:
        if t.islower():
            new_text = new_text + chr((ord(t) - 97 + shift) % 26 + 97)
        if t == ' ':
            new_text += " "
    
print(new_text)
最佳答案
2023-12-1 11:10:28
在这段代码中,取余运算符 `%` 是用于获取一个数除以另一个数的余数。在这里,`% 26` 的目的是将加密后的字符在 A-Z 或 a-z 范围内循环。

具体来说,这段代码是一个简单的凯撒密码加密程序。它将输入的明文移动指定的位数,生成加密后的密文。

代码中,首先通过 `input` 函数获取用户输入的明文和移动的位数。然后定义一个空字符串 `new_text` 作为加密后的结果。

接下来,通过一个循环遍历明文中的每个字符 `t`。如果 `t` 是大写字母,则使用 `chr((ord(t) - 65 + shift) % 26 + 65)` 将其转换为加密后的字符,并将结果添加到 `new_text` 中。这里 `ord(t)` 返回字符 `t` 的 ASCII 码,减去 `65` 得到相对于 A 的偏移量,再加上移动的位数 `shift` 取余 26,即可实现循环移动。最后再加上 `65` 又将其转换回 ASCII 码。

类似地,如果 `t` 是小写字母,使用 `chr((ord(t) - 97 + shift) % 26 + 97)` 进行加密。如果 `t` 是空格,则直接将其添加到 `new_text` 中。

最后,打印输出加密后的密文 `new_text`。

你可以尝试输入明文和移动位数,看看程序的输出结果。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

最佳答案

查看完整内容

在这段代码中,取余运算符 `%` 是用于获取一个数除以另一个数的余数。在这里,`% 26` 的目的是将加密后的字符在 A-Z 或 a-z 范围内循环。 具体来说,这段代码是一个简单的凯撒密码加密程序。它将输入的明文移动指定的位数,生成加密后的密文。 代码中,首先通过 `input` 函数获取用户输入的明文和移动的位数。然后定义一个空字符串 `new_text` 作为加密后的结果。 接下来,通过一个循环遍历明文中的每个字符 `t`。如果 `t` 是大 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-1 11:10:28 | 显示全部楼层    本楼为最佳答案   
在这段代码中,取余运算符 `%` 是用于获取一个数除以另一个数的余数。在这里,`% 26` 的目的是将加密后的字符在 A-Z 或 a-z 范围内循环。

具体来说,这段代码是一个简单的凯撒密码加密程序。它将输入的明文移动指定的位数,生成加密后的密文。

代码中,首先通过 `input` 函数获取用户输入的明文和移动的位数。然后定义一个空字符串 `new_text` 作为加密后的结果。

接下来,通过一个循环遍历明文中的每个字符 `t`。如果 `t` 是大写字母,则使用 `chr((ord(t) - 65 + shift) % 26 + 65)` 将其转换为加密后的字符,并将结果添加到 `new_text` 中。这里 `ord(t)` 返回字符 `t` 的 ASCII 码,减去 `65` 得到相对于 A 的偏移量,再加上移动的位数 `shift` 取余 26,即可实现循环移动。最后再加上 `65` 又将其转换回 ASCII 码。

类似地,如果 `t` 是小写字母,使用 `chr((ord(t) - 97 + shift) % 26 + 97)` 进行加密。如果 `t` 是空格,则直接将其添加到 `new_text` 中。

最后,打印输出加密后的密文 `new_text`。

你可以尝试输入明文和移动位数,看看程序的输出结果。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-1 16:11:32 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 22:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表