编写一个程序,将一个字符作为输入(字符串长度为1),输出是字母表中的下一个字符。如果输入为“Z”,则输出为“A”

问题描述 投票:0回答:3

编写一个程序,以一个字符作为输入(长度为1的字符串),您应该假设它是大写字符;输出应该是字母表中的下一个字符。

如果输入是

'Z'
,那么你的输出应该是
'A'

这是我到目前为止所做的,但当我输入

A
时,我没有得到
Z
。我越来越
[

请帮忙,我做错了什么?

input = (input()).upper()
for character in input:
   number = ord(character) + 1
   number1 = chr(number)
   if ord('z'):
       new_number = ord(character) - 25
        number2 = chr(new_number)

print(number1)
python python-3.x input output letter
3个回答
1
投票

执行此操作的一种方法可能是通过

match
语句:

match (letter):
    case 'A':
        print('B')
    case 'B':
        print('C')

但是你需要大约 30 个

case
...


更好的主意是使用

list
:

letters = ['A', 'B', 'C'...]

然后去取信

letter = input().upper()

然后获取

list
中的下一个元素:

print(letters[letters.find(letter)+1])

但是

'Z'
会出现错误,因此您需要为
try
 准备一个 except
/
IndexError
块:

try:
    print(letters[letters.find(letter)+1])
except IndexError:
    print('A')

1
投票

我已经明白了!!感谢大家提供替代方法!我一直很感激。

input = (input()).upper()
encrypted = ""
for character in input:
    if character == "":
        encrypted += ""
elif ord(character) + 1 > ord("Z"):
    encrypted += chr(ord(character) + 1 - 26)
else:
    encrypted += chr(ord(character) + 1)

print(encrypted)

0
投票

我有一个非常简单的答案:

myString = input()

name = ord(myString)

gor = name + 1

if name == 90:
   gor = 65
   

print(chr(gor))
© www.soinside.com 2019 - 2024. All rights reserved.