我是编码的新手,所以我决定使用unicode为测试目的制作某种密码,我已经通过在Unicode中添加数字来做到这一点,所以这有点秘密。我一直在收到这个错误,但我不知道如何解决它。有什么解决方案吗?这是代码:
while True:
try:
message = int(input("Enter a message you want to be decrypt: "))
break
except ValueError:
print("Error, it must be an integer")
secret_string = ""
for char in message:
secret_string += chr(ord(char - str(742146))
print("Decrypted", secret_string)
q = input("")
Python的工作方式与JavaScript有点不同,例如,连接的值需要是int或str ...
所以例如下面的代码会抛出一个错误:
print( "Alireza" + 1980)
像这样:
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
print( "Alireza" + 1980)
TypeError: can only concatenate str (not "int") to str
要解决此问题,只需将str添加到您的数字或值,如:
print( "Alireza" + str(1980))
结果如下:
Alireza1980
而不是使用“+”运算符
print( "Alireza" + 1980)
使用逗号“,”运算符
print( "Alireza" , 1980)
改变secret_string += str(chr(char + 7429146))
致secret_string += chr(ord(char) + 7429146)
ord()
将字符转换为其Unicode整数等价物。然后chr()
将此整数转换为其Unicode字符等效项。
另外,7429146数字太大了,应该小于1114111
问题是你正在做以下事情
str(chr(char + 7429146))
其中char是一个字符串。您不能使用字符串添加int。这会导致错误
也许如果你想获得ascii代码并添加一个常数。如果是这样,你可以做ord(char)并将其添加到一个数字中。但同样,chr可以取0到1114112之间的值
用这个:
print("Program for calculating sum")
numbers=[1, 2, 3, 4, 5, 6, 7, 8]
sum=0
for number in numbers:
sum += number
print("Total Sum is: %d" %sum )