我在Python的ASCII代码中遇到了一个问题,当我试图将一个字母转换成ASCII时,它会将ASCII中的数字转换成更多的ASCII代码。我该怎么解决这个问题?你知道吗
Choice = input("Now tell us which code language you like to convert this to Binary or ASCII: \n")
Code = input("Insert your code here, it converts letters to Binary/ASCII: \n\n")
Zero = '048'
One = '049'
Two = '050'
Three = '051'
Four = '052'
Five = '053'
Six = '054'
Seven = '055'
Eight = '056'
Nine = '057'
NewCode = Code.replace('0', Zero)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('1', One)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('2', Two)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('3', Three)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('4', Four)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('5', Five)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('6', Six)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('7', Seven)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('8', Eight)
print(NewCode, '\n\n')
time.sleep(0.1)
NewCode = NewCode.replace('9', Nine)
print(NewCode, '\n\n')
time.sleep(0.1)
问题是替换字符串包含的字符将被以后的
.replace()
调用替换。你知道吗一种解决方案是一次处理一个字符的输入,而不是对整个字符串使用
.replace()
。你知道吗顺便说一句,Python有一个
ord()
函数,返回字符的代码,通常是ASCII。你知道吗您要做的工作可以在一行字内完成,而无需硬编码字符的ASCII码:
然而,你练习的目的还不清楚。还请记住,“0XY”通常意味着“XY”是用八进制数系统写的。因此,X和Y都不能是8或9。你知道吗
你的问题是你一直在修改
NewCode
,这样在每一步它都会继续修改自己,把数字改成ASCII数字。不要对每个replace
语句重复使用NewCode
,而是使用一个新变量作为缓冲区。你知道吗相关问题 更多 >
编程相关推荐