编写一个程序,输入一个字符(长度为 1 的字符串),你应该假设它是一个大写字符;输出应该是字母表中的下一个字符。如果输入是'Z',你的输出应该是'A'。(您将需要使用 if 语句。)到目前为止,我已经尝试了几个这样的代码:
chr = input()
if chr == '65':
x = chr(ord(chr) + 1)
print(chr(65) + 1)
它说它打印时没有输出,只是不确定如何获得正确的输出。我对编程很陌生。
编写一个程序,输入一个字符(长度为 1 的字符串),你应该假设它是一个大写字符;输出应该是字母表中的下一个字符。如果输入是'Z',你的输出应该是'A'。(您将需要使用 if 语句。)到目前为止,我已经尝试了几个这样的代码:
chr = input()
if chr == '65':
x = chr(ord(chr) + 1)
print(chr(65) + 1)
它说它打印时没有输出,只是不确定如何获得正确的输出。我对编程很陌生。
您可以使用以下想法:
A = 65 Z = 90
如果从输入中减去 ord('A'),则将范围缩小到 [0, 25]
因此,您需要在 [0, 25] 范围内定义输出。为避免超出此范围,您应该使用“%”。
char_input = input()
return chr((ord(char_input) - ord('A') + 1) % 26 + ord('A'))
这意味着,给定输入,您将减去 ord('A') 的值以“修复”范围,然后加上 + 1。您将采用 % 26 以避免超出范围。毕竟,再次添加 ord('A') 。
这应该有效:
my_chr = ord(input())
if my_chr == 90:
print('A')
else:
print(chr(my_chr+1))
它接受输入字母 ( A-Z
) 并获取其ord()
值。然后它检查该值是否等于Z
( ord('Z') == 90
) 并打印A
,否则将其递增 1,然后将其转换回字符串并打印它。
下面的方法是使用 ascii_letters。
import string
// returns a string of all the alphabets
// abcdefghijklmnopqrstuvwxyz"
result = string.ascii_letters
// get the index of the input alphabet and return the next alphabet in the results string.
// using the modulus to make sure when 'Z' is given as the input it returns to the first alphabet.
result[(result.index(alphabet.lower()) + 1) % 26].upper()
希望这是您正在寻找的
_chr = input('Enter character(A-Z): ')
if _chr == 'Z':
print('A')
else:
print(chr(ord(_chr) + 1))
alpha=input()
if alpha =='Z': print('A')
else:print(chr(ord(alpha)+1))
“您将需要使用 if 语句”