在python中,如何给出一个字母表,下一个字母的值



我两天前刚开始学习python,我正在尝试制作一个密码。在它中,字母表被赋予下一个字母表的值。例如,如果您想打印";b";您需要键入";a";,等等。我已经手动完成了,结果是这样的。我只想问,有没有更简单的方法可以做到这一点?

#输出:你好

a = 'b'
b = 'c'
c = 'd'
d = 'e'
e = 'f'
f = 'g'
g = 'h'
h = 'i'
i = 'j'
j = 'k'
k = 'l'
l = 'm'
m = 'n'
n = 'o'
o = 'p'
p = 'q'
q = 'r'
r = 's'
s = 't'
t = 'u'
u = 'v'
v = 'w'
w = 'x'
x = 'y'
y = 'z'
z = 'a'
print(f'{g}{d}{k}{k}{n}');

str类型具有内置的翻译机制。

>>> from string import ascii_lowercase as alphabet
>>> d = str.maketrans(alphabet, alphabet[1:] + alphabet)
>>> "gdkkn".translate(d)
'hello'

maketrans可以采用两个长度相等的参数,并构造一个将每个参数中的相应字符相互匹配的表。

迭代包含字母表的字符串:

alph = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#if you want to print "b" you need to type "a"
def print_alph(char):
for i in range(len(alph)):
if alph[i] == char.upper():
print(alph[0]) if char.upper() == 'Z' else print(alph[i+1])
print_alph('A')
print_alph('z')

输出:

B
A

我认为这个函数适用于您。

def next_alpha(s: str):
return chr((ord(s.upper()) + 1 - 65) % 26 + 65).lower()

相关内容

最新更新