我收到此错误“TypeError:无法将'int'对象隐式转换为str”

2024-09-27 21:29:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到这个错误“TypeError:无法将'int'对象隐式转换为str”

plaintext= input("Enter the plaintext:")
length = len(plaintext)
print ("The length is:", length)
for i in range(0,(len(plaintext)-1)
    E[i]= (15*plaintext[i]+20)%26;
    print (E[i])

Tags: the对象forinputlenis错误length
2条回答

plaintextstr,所以plaintext[i]也是一个字符串(一个字符)。乘以15,你又得到了一个str(15个字符)。如果您尝试添加一个20,解释器假设您想将20转换为str,并将其附加到现有的str。但是它并没有实现从intstr的隐式转换,它告诉您这一点。在

你可能想用

(15 * (ord(plaintext[i]) - ord('A')) + 20) % 26

你的问题不清楚你的真实意图,所以我们得猜测一下。在

plaintext是字符串,plaintext[i]也是字符串。15*plaintext[i]乘以字符串,您正试图用+20向字符串添加一个整数。所以只要:

15*int(plaintext[i])+20 #if plaintext is a string of decimals, don't know what exactly you want

或者我猜你在做一些类似加密的事情,这样你需要用ord把一个字符转换成整数,然后用它的逆chr

^{pr2}$

相关问题 更多 >

    热门问题