烈倾 发表于 2023-2-18 15:04:54

球求大佬帮我看看这个密码转换的代码为什么遇见r会出错

x = input("输入明文")
y = int(input("后移位数"))
end=[]
base_big = ord("A")
base_little =ord("a")

for i in x:
    if i ==" ":
      end.append(" ")
    if i.isupper():
      end.append(chr((ord(i)-base_big+y)%26+base_big))
    else:
      end.append(chr((ord(i)-base_little+y)%26+base_little))
print (''.join(end))

jackz007 发表于 2023-2-18 15:30:24

s = input("输入明文:")
n = int(input("后移位数:"))
p = ''
for c in s:
    if c . isalpha():
      d = ord('A') if c . isupper() else ord('a')
      x = ord(c) - d
      p += chr(d + (x + n) % 26)
    else:
      p += c
print('密文为:' , p)
q = ''
for c in p:
    if c . isalpha():
      d = ord('A') if c . isupper() else ord('a')
      x = ord(c) - d
      q += chr(d + (x + 26 - n) % 26)
    else:
      q += c
print('原文为:' , q)

chinajz 发表于 2023-2-19 10:32:02

运行正常的:
#coding:gbk
x = input("输入明文:")
y = int(input("后移位数:"))
end=[]
base_big = ord("A")
base_little =ord("a")

for i in x:
    if i ==" ":
      end.append(" ")
    if i.isupper():
      end.append(chr((ord(i)-base_big+y)%26+base_big))
    else:
      end.append(chr((ord(i)-base_little+y)%26+base_little))
print (''.join(end))
运行结果:
输入明文:rRrRrRst
后移位数:1
sSsSsStu

ExiaGN001 发表于 2023-2-20 22:50:45

没理由出错啊
报错信息来一下

歌者文明清理员 发表于 2023-2-22 22:28:05

请说明你的问题
互助团队的成员会帮你的。我也会
页: [1]
查看完整版本: 球求大佬帮我看看这个密码转换的代码为什么遇见r会出错