鱼C论坛

 找回密码
 立即注册
查看: 1742|回复: 26

[已解决]解密游戏

[复制链接]
发表于 2020-5-15 18:07:27 | 显示全部楼层 |阅读模式
3鱼币
题目: 当字母为小写时 向前跳4位数 如:
a---> e
当字母为大写时 向后跳2位数 如
A---> Y
解密:aA--->eY
请把Srmgshi Rverwjsvqexmsr Dsvqex解密
---------------------------------------------------------------------------
下面是我自己写的然后疯狂报错求大佬解答
# 闭环小写减一轮加4  大写加一轮减2
str1 = input("请输入要解密的内容:")
for each in str1:
    # 小写
    if each.islower():
        i = ord(each)
        if i <= 118:
            a1 = chr(i+4)
        else:
            a2 = chr(i-22)
# 大写
    else:
        a = ord(each)
        if a > 66:
            a3 = chr(a-2)
        else:
            a4 = chr(a+24)
# 向上查找a1 a2 a3 a4
nonlocal a1, a2, a3, a4
a5 = a1 + a2 + a3 + a4
print(a5)
最佳答案
2020-5-15 18:07:28
用你的方式帮你改了下代码 , 如果帮助到你了 给个最佳吧
str1 = input("请输入要解密的内容:")
a = ''
for each in str1:

    if each.islower():
        i = ord(each)
        if i <= 118:
            a += chr(i-4)
        else:
            a += chr(i-22)

    elif each.isupper():
        i = ord(each)
        if i > 66:
            a += chr(i+2)
        else:
            a += chr(i+24)
    elif each == ' ':
        a += each
print(a)
4NG~QPYX09K7_~_31{NWP(W.png

最佳答案

查看完整内容

用你的方式帮你改了下代码 , 如果帮助到你了 给个最佳吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 18:07:28 | 显示全部楼层    本楼为最佳答案   
用你的方式帮你改了下代码 , 如果帮助到你了 给个最佳吧
str1 = input("请输入要解密的内容:")
a = ''
for each in str1:

    if each.islower():
        i = ord(each)
        if i <= 118:
            a += chr(i-4)
        else:
            a += chr(i-22)

    elif each.isupper():
        i = ord(each)
        if i > 66:
            a += chr(i+2)
        else:
            a += chr(i+24)
    elif each == ' ':
        a += each
print(a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 18:14:36 From FishC Mobile | 显示全部楼层
沙发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 18:37:34 | 显示全部楼层
晚点来做嘿嘿
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-15 18:49:16 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 19:13:58 From FishC Mobile | 显示全部楼层
大大的拳头 发表于 2020-5-15 18:49

a1 a2 a3 a4 是在何处定义的?
请贴代码,不要只发图片,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 19:15:02 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-5-15 19:18 编辑


全局作用域nonlocal,谁教给你的?
还有不少的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 19:16:54 | 显示全部楼层
本帖最后由 jerryxjr1220 于 2020-5-15 20:57 编辑
xiaoxie={'efghijklmnopqrstuvwxyzabcd'[i]: 'abcdefghijklmnopqrstuvwxyz'[i]  for i in range(26)}
daxie={'YZABCDEFGHIJKLMNOPQRSTUVWX'[i]: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[i]  for i in range(26)}

for i in 'Srmgshi Rverwjsvqexmsr Dsvqex':
    if i in xiaoxie:
        print(xiaoxie[i], end='')
    elif i in daxie:
        print(daxie[i], end='')
    else:
        print(' ', end='')

Unicode Transformation Format

评分

参与人数 1鱼币 +2 收起 理由
大大的拳头 + 2 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-15 19:19:04 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-15 19:15
全局作用域nonlocal,谁教给你的?
把那行去了就可以了

拿去后就找不到a1a2 等 变量了照样报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 19:24:54 | 显示全部楼层
大大的拳头 发表于 2020-5-15 19:19
拿去后就找不到a1a2 等 变量了照样报错

不拿去也找不到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 19:25:36 | 显示全部楼层
jerryxjr1220 发表于 2020-5-15 19:16
xiaoxie={'abcdefghijklmnopqrstuvwxyz': 'efghijklmnopqrstuvwxyzabcd' for i in range(26)}
daxie={'ABC ...


直接一个字典,不好吗
_func={'A': 'Y', 'B': 'Z', 'C': 'A', 'D': 'B', 'E': 'C', 'F': 'D', 'G': 'E', 'H': 'F', 'I': 'G', 'J': 'H', 'K': 'I', 'L': 'J', 'M': 'K', 'N': 'L', 'O': 'M', 'P': 'N', 'Q': 'O', 'R': 'P', 'S': 'Q', 'T': 'R', 'U': 'S', 'V': 'T', 'W': 'U', 'X': 'V', 'Y': 'W', 'Z': 'X', 'a': 'e', 'b': 'f', 'c': 'g', 'd': 'h', 'e': 'i', 'f': 'j', 'g': 'k', 'h': 'l', 'i': 'm', 'j': 'n', 'k': 'o', 'l': 'p', 'm': 'q', 'n': 'r', 'o': 's', 'p': 't', 'q': 'u', 'r': 'v', 's': 'w', 't': 'x', 'u': 'y', 'v': 'z', 'w': 'a', 'x': 'b', 'y': 'c', 'z': 'd'}.get
func=lambda x:''.join(_func(i,i)for i in x)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 19:28:15 | 显示全部楼层

写字典太麻烦,懒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 19:31:59 | 显示全部楼层

让Python去做,我们复制不就好了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-15 19:32:18 | 显示全部楼层
_2_ 发表于 2020-5-15 19:13
a1 a2 a3 a4 是在何处定义的?
请贴代码,不要只发图片,谢谢

嗯代码在图片上面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-15 19:51:08 | 显示全部楼层

拿去后可否用其他办法让他输出,主要是找到其他变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-15 19:52:39 | 显示全部楼层
本帖最后由 大大的拳头 于 2020-5-15 20:04 编辑

str1 = input("请输入要解密的内容:")
for each in str1:
    # 小写
    if each.islower():
        i = ord(each)
        if i <= 118:
            a1 = 0
            a1 = chr(i+4)
        else:
            a2 = chr(i-22)
# 大写
    else:
        a = ord(each)
        if a > 66:
            a3 = 0
            a3 = chr(a-2)
        else:
            a4 = 0
            a4 = chr(a+24)
a5 = a1 + a2 + a3 + a4
print(a5)
拿去nonloal后 找不到a1 a2 a3 a4 有没有解决办法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 20:14:00 | 显示全部楼层
str1 = input("请输入要解密的内容:")
for each in str1:
    # 小写
    if each.islower():
        i = ord(each)
        if i <= 118:
            a1 = chr(i+4)
        else:
            a2 = chr(i-22)
# 大写
    else:
        a = ord(each)
        if a > 66:
            a3 = chr(a-2)
        else:
            a4 = chr(a+24)
# 向上查找a1 a2 a3 a4
a5 = a1 + a2 + a3 + a4
print(a5)
去掉 nonlocal  这个一般都是在函数、方法里面用的  

用于声明该变量为当前与全局的命名空间

如果帮助到你了,给个最佳吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-15 20:18:26 | 显示全部楼层
本帖最后由 大大的拳头 于 2020-5-15 20:29 编辑
Twilight6 发表于 2020-5-15 20:14
去掉 nonlocal  这个一般都是在函数、方法里面用的  

用于声明该变量为当前与全局的命名空间


还是报错  
a5 = a1 + a2 + a3 + a4
NameError: name 'a2' is not defined

这个是班上一个大佬的代码
14.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-15 20:18:55 | 显示全部楼层
大大的拳头 发表于 2020-5-15 20:18
还是报错  
a5 = a1 + a2 + a3 + a4
NameError: name 'a2' is not defined


怎么会 我运行都是正常的

213213.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-15 20:20:12 | 显示全部楼层
本帖最后由 大大的拳头 于 2020-5-15 20:24 编辑
Twilight6 发表于 2020-5-15 20:18
怎么会 我运行都是正常的


我也不知道怎么回事
i.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-21 08:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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