为什么使用i.lower()==False时出现报错?用i.upper()==True时,却可以正确输出?求大神看看

该博客探讨了Python中如何使用字典和字符串方法将输入字符串的大写字母转换。代码示例中,创建了一个字典,将字母表中的字母映射为其逆序,然后遍历输入字符串,将遇到的大写字母替换。然而,原始代码存在错误,导致处理某些字符时出现KeyError。修正后的代码能够正确地将大写字母转换并输出。
摘要由CSDN通过智能技术生成

m=input()
s=""
ls=[]
d={}#定义一个字典
for i in range(ord(“A”),ord(“Z”)+1):
ls+=[chr(i)]
lt=sorted(ls,reverse=True)
for key,value in zip(ls,lt):
d[key]=value
for i in m:
#if i.isupper()==True:
if i.islower()==False:
i=d[i]
print(i)#此处可以将大写字母进行替换,但是最后的字符串输不出来
s+=str(i)
print(s)
输入:This is a pen.
报错如下:
Traceback (most recent call last):
File “D:\Python 实验案例保存\PTA_1.py”, line 256, in
i=d[i]
KeyError: ’ ’

当我用i.upper时却可以正确输出:
m=input()
s=""#定义一个空字符串
ls=[]
d={}#定义一个字典
for i in range(ord(“A”),ord(“Z”)+1):
ls+=[chr(i)]
lt=sorted(ls,reverse=True)
for key,value in zip(ls,lt):
d[key]=value

for i in m:
if i.isupper()==True:
#if i.islower()==False:
i=d[i]
s+=i
#print(i)
print(s)

输入:This is a pen.
输出:Ghis is a pen.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值