ZZULIOJ题解
1024: 计算字母序号
题目描述
输入一个英文字母(可能是大写,也可能是小写),输出该字母在字母表中的序(’a’和’A’的序号为1)。
输入
输入只有一个英文字母。
输出
按题目要求输出一个字符,单独占一行。
样例输入
1|D
样例输出
1|4
代码展示
letter=input().split()
# 解释一下为何要用split方法,如果不用split方法,那么输入了多个字母就会产生错误,所以split不能少
if (letter[0]).islower():
# 解释一下这行代码,首先input接收的数据类型是一个列表。
# 而判断字母大小的方法只能在字符创串中操作,我们在这里使用切片方法来获取输入值,
# 将其类型变成了字符串,然后我们就可以使用字符串判断字母大小的方法了
letter=(letter[0]).upper()
# 如果字母是小写就转换成大写字母
number=ord((letter[0]))-ord('A')+1
#ord方法是获取字母对应Ascall码表对应的值
else:
number=ord((letter[0]))-ord('A')+1
print(number)
补充
用这个代码也可以实现效果,但是一旦输入的字母超过一位,程序就会报错,所以这是错误示范!一定要加split
letter=input()
if letter.islower():
letter=letter.upper()
number=ord(letter)-ord('A')+1
else:
number=ord(letter)-ord('A')+1
print(number)