鱼C论坛

 找回密码
 立即注册
查看: 2576|回复: 22

[已解决]help!升级版凯撒密码怎么写

[复制链接]
发表于 2020-3-12 18:02:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一个账号 于 2020-3-12 18:18 编辑
plaincode = input("请输入明文: ")
for p in plaincode:
        if ord("a") <= ord(p) <= ord("z"):
                print(chr(ord("a") + (ord(p) - ord("a") + 3)%26),end='')
        else:
                print(p, end='')

就是像上面这样 只不过要把加密和解密一个程序!有没有大佬救救我呀!
最佳答案
2020-3-12 18:16:07
帅哥一起吃火锅 发表于 2020-3-12 18:07
emmmmm就是加密和解密写到一个程序里边
strings="a1b2c3d4e5f6g7h8i9j0klmnopqrstuvwxyz"

def x_encode(s):
    result=""
    for p in s:
            if ord("a") <= ord(p) <= ord("z"):
                   result+=chr(ord("a") + (ord(p) - ord("a") + 3)%26)
            else:
                   result+=p
    return result 

s=x_encode(strings)

def x_decode(s):
    result=""
    for p in s:
            if ord("a") <= ord(p) <= ord("z"):
                   result+=chr(ord("a") + (ord(p) - ord("a") - 3)%26)
            else:
                   result+=p
    return result   
print(x_decode(x_encode(strings)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-12 18:05:50 | 显示全部楼层
只不过要把加密和解密一个程序
看不懂   说都不会话吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 18:07:14 | 显示全部楼层
wp231957 发表于 2020-3-12 18:05
只不过要把加密和解密一个程序
看不懂   说都不会话吗

emmmmm就是加密和解密写到一个程序里边
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:07:44 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-3-12 18:17 编辑

闲得没事就改了改,把循环加上了:
def encode():
    plaincode = input("请输入明文: ")
    for p in plaincode:
        if ord("a") <= ord(p) <= ord("z"):
            print(chr(ord("a") + (ord(p) - ord("a") + 3)%26),end='')
        else:
            print(p, end='')

def decode():
    plaincode = input("请输入密文:")
    for p in plaincode:
        if ord("a") <= ord(p) <= ord("z"):
            print(chr(ord("a") + (ord(p) - ord("a") - 3)%26),end='')
        else:
            print(p, end='')

def begin():
    choice = ''
    while True:
        if choice == ('q!' or 'Q!' or 'QUIT' or 'quit'):
            break
        choice = input("\n加密还是解密: ")
        if choice == "加密":
            encode()
        elif choice == "解密":
            decode()
        else:
            print("输入错误!")
    print("BYE~")

begin()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:14:33 | 显示全部楼层
帅哥一起吃火锅 发表于 2020-3-12 18:07
emmmmm就是加密和解密写到一个程序里边

hello?
你看看代码符不符合要求鸭?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:16:07 | 显示全部楼层    本楼为最佳答案   
帅哥一起吃火锅 发表于 2020-3-12 18:07
emmmmm就是加密和解密写到一个程序里边
strings="a1b2c3d4e5f6g7h8i9j0klmnopqrstuvwxyz"

def x_encode(s):
    result=""
    for p in s:
            if ord("a") <= ord(p) <= ord("z"):
                   result+=chr(ord("a") + (ord(p) - ord("a") + 3)%26)
            else:
                   result+=p
    return result 

s=x_encode(strings)

def x_decode(s):
    result=""
    for p in s:
            if ord("a") <= ord(p) <= ord("z"):
                   result+=chr(ord("a") + (ord(p) - ord("a") - 3)%26)
            else:
                   result+=p
    return result   
print(x_decode(x_encode(strings)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 18:17:53 | 显示全部楼层
qiuyouzhi 发表于 2020-3-12 18:07
实在是懒,要循环自己加吧

试过了可以耶 谢谢你!!!虽然我看不懂def这个函数....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:18:42 | 显示全部楼层
帅哥一起吃火锅 发表于 2020-3-12 18:17
试过了可以耶 谢谢你!!!虽然我看不懂def这个函数....


定义函数,后面就会学到(如果跟着小甲鱼的教程走,还有,def不是函数,是语句~)
有帮助就设个最佳答案吧~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 18:28:47 | 显示全部楼层
改了之后 我好像更看不懂了我们老师啥也没讲就让我们写 小甲鱼的视频我才看了一点点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 18:29:42 | 显示全部楼层
qiuyouzhi 发表于 2020-3-12 18:07
闲得没事就改了改,把循环加上了:


改了之后 我好像更看不懂了我们老师啥也没讲就让我们写 小甲鱼的视频我才看了一点点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 18:33:01 | 显示全部楼层

虽然你的看起来比上面的那位大佬还要难懂 我还是谢谢你!!!不然卑微大学生没法完成作业了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:34:24 | 显示全部楼层
帅哥一起吃火锅 发表于 2020-3-12 18:29
改了之后 我好像更看不懂了我们老师啥也没讲就让我们写 小甲鱼的视频我才看了一点点

没关系,让老师看起来这个程序更6一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:34:47 | 显示全部楼层
帅哥一起吃火锅 发表于 2020-3-12 18:33
虽然你的看起来比上面的那位大佬还要难懂 我还是谢谢你!!!不然卑微大学生没法完成作业了

你还是多学学基础吧
我感觉我的代码 比他的代码还要简单一些呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 18:35:20 | 显示全部楼层
qiuyouzhi 发表于 2020-3-12 18:34
没关系,让老师看起来这个程序更6一点

哈哈哈哈哈哈老师万一一看就知道不是我写的咋办
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 18:40:01 | 显示全部楼层
wp231957 发表于 2020-3-12 18:34
你还是多学学基础吧
我感觉我的代码 比他的代码还要简单一些呢

知道了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:40:58 | 显示全部楼层
帅哥一起吃火锅 发表于 2020-3-12 18:35
哈哈哈哈哈哈老师万一一看就知道不是我写的咋办

那就简单教你一点
屌丝代码段:
n = int(input("请输入一个数:"))
result = 1
for i in range(1,n+1):
    result *= i
print(result)
(求阶乘的)
高大上代码段:
def factorial()
    n = int(input("请输入一个数:"))
    result = 1
    for i in range(1,n+1):
        result *= i
    print(result)
可以发现区别吧?就是把
原始代码段加一个缩进
使用方法直接
factorial()
就行
如果想让最后的值可以赋值给变量,
就这么写:
def factorial()
    n = int(input("请输入一个数:"))
    result = 1
    for i in range(1,n+1):
        result *= i
    return result
把最后一个打印改成return就行,
调用就得这么写:
print(factorial())
目前不用懂太多,该学的一定会学到的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:44:20 | 显示全部楼层
wp231957 发表于 2020-3-12 18:34
你还是多学学基础吧
我感觉我的代码 比他的代码还要简单一些呢

你确定?
我直接把他的代码打包成函数
什么逻辑都没变,就后面加了一个
运行函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:45:53 | 显示全部楼层
qiuyouzhi 发表于 2020-3-12 18:44
你确定?
我直接把他的代码打包成函数
什么逻辑都没变,就后面加了一个

嗯,我的代码行数比你的少,所以就比你的简单  
你看这个解释如何   哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 18:47:15 | 显示全部楼层
wp231957 发表于 2020-3-12 18:45
嗯,我的代码行数比你的少,所以就比你的简单  
你看这个解释如何   哈哈

好吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 18:49:10 | 显示全部楼层
qiuyouzhi 发表于 2020-3-12 18:40
那就简单教你一点
屌丝代码段:

可以发现区别!太感谢你了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 19:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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