字母表中的下一个字母

时间:2019-03-12 06:04:32

标签: python string python-2.7 computer-science

我对如何在CS圈问题上使Z变成A陷入困境

x =input()

x=x.upper()

x=chr(ord(x) + 1)

print(x)

我如何使z变成A?

6 个答案:

答案 0 :(得分:1)

使用chrord

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

for s in 'abcdefghijklmnopqrstuvwxyz':
    print('%s --> %s' % (s, next_alpha(s)))

a --> B
b --> C
...
y --> Z
z --> A

答案 1 :(得分:1)

这是找到多个字母中的下一个字母的解决方案。

示例:
输入 - abc
输出 - bcd

user_input = input("请输入您的单词:")
lst = list(''.join(user_input.lower()))
lst1= []
str1='' 对于 i in range(len(lst)):

x = ord(lst[i])  #ord() is used to convert char to ascii value
x=x+1
if x==123:
    x=97
    y= chr(x)       
    lst1.append(y)
    str1 =''.join(lst1)
else:
    y= chr(x)       #chr() is used to convert ascii to char value
    lst1.append(y)
    str1 =''.join(lst1)

打印(str1)

答案 2 :(得分:0)

尝试一下:

x = input()
x = x.upper()
order = ord(x)
if order ==90:
      order = 64
      x=chr(order + 1)
      print(x)

答案 3 :(得分:0)

尝试下面的代码来解决Next Letter问题。

charac = input()

if charac == "Z": # If Z encountered change to A
   print(chr(ord(charac)-25))

else:
   change = ord(charac) + 1
   print(chr(change))

答案 4 :(得分:0)

您可以从“ {”或“ z”的ord值中减去25:

x = input('Enter Alphabet: ')
print(chr(ord(x)-25))

输出:

Enter Alphabet: z
a

答案 5 :(得分:0)

使用以下代码,该代码允许用户键入多个字母:

import string
letters = string.ascii_letters
x = input()
x = list(x.lower())
for i,v in enumerate(x):
   x[i] = letters[letters.index(v) + 1]
print(''.join(x).upper())

示例输出:

azd
BAE

如果不需要它们输入多个字母,请使用:

import string
letters = string.ascii_letters
x = input()
x = x.lower()
x = letters[letters.index(x) + 1]
print(x.upper())

示例输出:

z
A