鱼C论坛

 找回密码
 立即注册
查看: 6035|回复: 13

[已解决]30讲课后习题动动手0

[复制链接]
发表于 2022-4-19 08:10:04 | 显示全部楼层 |阅读模式

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

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

x
I love FishC为什么这段的凯撒密码是这个O rubk LoynI不能理解
最佳答案
2022-4-20 10:16:28
舍侠 发表于 2022-4-20 10:14
大写表和小写表不是同一个26字母表?

当然不是了,他们分别代表52个不同的字符
具体可以百度ASCII
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-19 09:31:19 | 显示全部楼层
我不知道小甲鱼是咋写的,我盲猜一下代码:
a=[chr(x) for x in range(65,91)]
b=[chr(x) for x in range(97,123)]
s="I love FishC"
offset=6
for x in s:
    if x in a:
        print(a[(a.index(x)+offset)%26],end="")
    elif x in b:
        print(b[(b.index(x)+offset)%26],end="")
    else:
        print(x,end="")    
    
'''
PS C:\Users\Administrator> & C:/Programs/Python/python.exe d:/wp/t8.py
O rubk LoynI
'''
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-19 09:42:23 | 显示全部楼层
直接把解密的也添加进去了:
a=[chr(x) for x in range(65,91)]
b=[chr(x) for x in range(97,123)]
s="I love FishC"
offset=6
#加密过程
t=""
for x in s:
    if x in a:
        t+=a[(a.index(x)+offset)%26]
    elif x in b:
        t+=b[(b.index(x)+offset)%26]
    else:
        t+=x  
print(t)        
#还原过程        
k=""   
for x in t:
    if x in a:
        k+=a[(a.index(x)+26-offset)%26]
    elif x in b:
        k+=b[(b.index(x)+26-offset)%26]
    else:
        k+=x  
print(k)        

'''
PS C:\Users\Administrator> & C:/Programs/Python/python.exe d:/wp/t8.py
O rubk LoynI
I love FishC
'''
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-19 11:06:38 | 显示全部楼层
wp231957 发表于 2022-4-19 09:42
直接把解密的也添加进去了:

我太弱了,你写的这个也看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-19 11:09:50 | 显示全部楼层
舍侠 发表于 2022-4-19 11:06
我太弱了,你写的这个也看不懂

看问题要看本质,凯撒密码的本质就是循环右移  明白这个 在明白ASCII码是个什么东西
这个问题就不难写   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-19 11:19:14 | 显示全部楼层
舍侠 发表于 2022-4-19 11:06
我太弱了,你写的这个也看不懂

这里面还用到ASCII码了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-19 11:26:38 | 显示全部楼层
每个字母都后移6位,不就对应密码了吗
你这是不懂凯撒密码吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-19 13:48:19 | 显示全部楼层
风车呼呼呼 发表于 2022-4-19 11:26
每个字母都后移6位,不就对应密码了吗
你这是不懂凯撒密码吧

I love fish 这个后移6位我怎么得不出那个结果呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-19 13:53:51 | 显示全部楼层
舍侠 发表于 2022-4-19 13:48
I love fish 这个后移6位我怎么得不出那个结果呢

哈???我竟无言以对了
字母I后面的第6个字母不就是O吗
该不会要我给你26字母表吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-19 13:56:49 From FishC Mobile | 显示全部楼层
舍侠 发表于 2022-4-19 13:48
I love fish 这个后移6位我怎么得不出那个结果呢

大写在大写表里寻找移动
小写在小写表里寻找移动
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-20 10:13:25 | 显示全部楼层
风车呼呼呼 发表于 2022-4-19 13:53
哈???我竟无言以对了
字母I后面的第6个字母不就是O吗
该不会要我给你26字母表吧{:10_327: ...

我以为是I love fish 这句的后六位,比如I的后六位是f,我以为错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-20 10:14:57 | 显示全部楼层
wp231957 发表于 2022-4-19 13:56
大写在大写表里寻找移动
小写在小写表里寻找移动

大写表和小写表不是同一个26字母表?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-20 10:16:28 | 显示全部楼层    本楼为最佳答案   
舍侠 发表于 2022-4-20 10:14
大写表和小写表不是同一个26字母表?

当然不是了,他们分别代表52个不同的字符
具体可以百度ASCII
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-20 11:22:03 | 显示全部楼层
wp231957 发表于 2022-4-20 10:16
当然不是了,他们分别代表52个不同的字符
具体可以百度ASCII

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 02:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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